1

Я пытался придумать способ сделать это в течение нескольких дней, но пока ничего не придумал. В идеале это то, что я хочу сделать:

На компьютере с Windows XP мне нужно открыть SSH-соединение с удаленным хостом, отправить команду arp и вернуть текстовые результаты команды обратно для использования на клиенте. Мне нужно будет проанализировать эти данные и предпочтительно создать двумерный массив IP-адресов и MAC-адресов. Разделенных ключей не будет, все это делается с использованием имени пользователя и пароля, которые всегда будут разными, их нужно будет вводить в команду через переменные, которые будут извлечены из базы данных с использованием сценария autoit на основе IP-адреса WAN удаленный хост.

Теперь фактический анализ данных и создание массива будет простым, если я смогу просто получить текст таблицы arp. Есть ли способ SSH на удаленном хосте, запустить команду и вернуть данные из этой команды клиенту в пакетном сценарии или Perl-сценарии (это нормально, если он записывает текст в файл, я могу прочитать его из файл позже, мне просто нужно, чтобы добраться до клиента)?

2 ответа2

3

Используя PuTTY, вы можете указать имя пользователя и пароль следующим образом:

  • putty -pw пароль username @ hostname

Кроме того, ключ командной строки «-m» также позволит вам указать текстовый файл для чтения команд для выполнения на сервере после подключения.

Вы можете скачать PuTTY здесь:

  PuTTY (бесплатный и открытый исходный код)
  http://www.chiark.greenend.org.uk/~sgtatham/putty/

1

Используя PuTTY's plink:

plink <server> arp

Если это не сработает:

echo arp | plink <server>

Если система работает под управлением Linux и доступна команда ip , используйте ее. Формат легче разобрать:

plink <server> /sbin/ip -o -f inet neigh

plink <server> /sbin/ip -o -f inet6 neigh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .