Я больше всего знаком с powershell и python, поэтому решение, использующее любой из них, было бы идеальным.Сценарий сеанса Telnet с итеративной командой
У меня возникла ситуация, когда старое устройство с последовательным интерфейсом Ethernet-адаптера перезагрузилось и упало с нашей сети. Я подключился к кроссовому кабелю и использовал wirehark, чтобы найти его IP-адрес, и увидел, что arp req (206.250.11.x - не то, на что он был установлен раньше, очевидно). Portscan дал мне несколько опций, а один поднял telnet подскажите, что я искал.
Я смог подключиться и попробовать наши пароли по умолчанию - после подключения к нему запрашивается 4-значный вывод - но никто не работал.
Я хочу написать скрипт python, который запускает сеанс, ждет второй, вводит первый вывод: 0000 видит, говорит ли он: «Соединение с хостом потеряно». и, если нет, сообщите о том, какой PIN-код он использовал.
У меня есть Pinging программу, которую я написал некоторое время назад, который использовал subprocess.Popen и думаю, что я мог бы адаптировать его запустить телнет сессию:
telneter = subprocess.Popen ([ «телнет», имя хоста «9999 "], stdout = subprocess.PIPE) .stdout.read() Я также видел, что есть какой-то модуль telnet python, который можно импортировать.
Если у меня есть файл с именем «pins.txt», который представляет собой файл, который имеет 0000-9999 с одной записи на строку, как я могу лучше всего сделать следующее:
1) Запуск Telnet по адресу/порт 2) Подождите, пока он не запросит PIN-код (обычно менее секунды). 3) Введите первую строку файла pins.txt. 4) Проверьте, закончилась ли сессия и напечатано «Соединение с хостом потеряно». 5) Сообщите, какой вывод не терпит неудачу, и сеанс остается в живых?
Большое вам спасибо за помощь! Я буду работать над этим больше, но это то, что мы хотели бы получить и запустить снова скорее, чем позже, поэтому я еще не сделал достаточно исследований.
Редактировать: Я пытался соединиться с 25-контактным последовательным преобразователем с другой стороны, но вычеркнул адаптер, так что это больше не вариант.
Edit2: Я также попытался использовать telnetlib с telnetlib.Telnet (хост), но я не могу получить поток данных и перезапустить сеансы, чтобы перебирать список контактов.