скрипт и вывод команды по telnet-соединении. [Решено]
NFS_Daemon 22 декабря, 2010 - 14:20
Доброго времени суток.
Появилась неоходимость снимать статистику с ADSL-модема, удаленный доступ - по telnet.
Как можно в скрипте организовать подключение к модему, ввод логина/пароля, ввод команды, сохранение вывода этой команды для дальнейшей обработки.
»
- Для комментирования войдите или зарегистрируйтесь
:)
Смотри в сторону expect.
А может лучше snmp использовать? Если модем его поддерживает конечно. Все современные поддерживают.
боюсь не подойдет.
не смогу подружить (наверное) iptables и snmp.
А так для telnet'a уже есть готовая команда - iptables -L -v -Z, которая показывает кто сколько пакетов/байт передал/отправил, вот ее вывод мне и интересен.
Можно даже проще, тупее, но
Можно даже проще, тупее, но проще.
( sleep 1; echo login; sleep 1; echo pass; sleep 1; echo "iptables -L -v -Z"; sleep 1; exit; ) | telnet 192.168.1.1 >> tmp
а дальше парсить tmp-файлик.
:)
Да-да, вспомнилось пятилетней давности это :)
Но все равно с expect-ом или empty правильней будет.
а по empty русский мануал
а по empty русский мануал можно где-либо найти?
Уже без
Уже без надобности.
Достаточно просмотреть примеры в конце man empty и все становится на свои места.
Единственное только остается загадкой: мне нужен вывод telnet-сессии, для меня удобнее всего использовать лог созданый empty, но вот особенность, которую нисколько не ждал: empty записывает лог файл только после окончания соединения, или это telnet так подтормаживает, не выяснил.
Главное что если не подождать в конце скрипта вывод telnet'a о том что соединени разорвано со стороны хоста, в логе только команды которые были отправлены в telnet.