Тестирование удаленного порта TCP с помощью telnet путем выполнения короткой команды

mplayer -noconsolecontrols -ao pcm:file=audio.wav soundfile.wav &
12
15.08.2018, 15:41
7 ответов

Необходимо смочь передать по каналу exit команда в STDIN в telnet. Попытка:

echo 'exit' | telnet {site} {port}

и посмотрите, работает ли это. (это, кажется, работает над моим веб-сервером, но YMMV).

28
27.01.2020, 19:54

Я передумываю, инструмент для отправки команд непосредственно и просто быть произведенным был бы netcat. Это просто простой, но мощный инструмент для того, чтобы провести команды через порты. Вы видели пример использования в этом вопросе о суперпользователе: https://superuser.com/questions/261900/how-can-i-pipe-commands-to-a-netcat-that-will-stay-alive - автор вопроса дает рабочий пример в который завершения соединения после нескольких секунд.

И если Вы хотите только протестировать использование возможности соединения это: http://terminalinflection.com/use-netcat-not-telnet-to-test-network-connectivity/

3
27.01.2020, 19:54
  • 1
    я пытаюсь установить netcat прямо сейчас, но я не могу сделать так. Я загрузил скомпилированную powerpc версию, но glibc библиотека отсутствовала. Я загрузил скомпилированную powerpc версию, но устройство не имело достаточного количества пространства для копирования файлов библиотеки! Действительно ли возможно, что glibc библиотека уже существует, но netcat не может найти его? –  Muhammad Gelbana 13.08.2013, 15:13
  • 2
    Netcat необходим только на стороне клиента: на сервере (датчик) может быть тот же простой telnet. –  IBr 13.08.2013, 16:23
  • 3
    Также Glibc уже должен существовать, он используется на большом количестве материала в обычной системе. –  IBr 13.08.2013, 16:28
  • 4
    Вы могли попытаться добавить к сценариям telnet && exit посмотрите, разъединяется ли это (в ssh, по крайней мере, это достаточно). –  IBr 13.08.2013, 16:35
  • 5
    && exit не работал. Если glibc должен существовать, и я полагаю, что он делает. Почему был бы nc.traditional жалуйтесь на это, как будто это отсутствует? –  Muhammad Gelbana 13.08.2013, 17:38
[

] - Самый простой и легкий метод приведен ниже.[

] [
 sleep <n> | telnet <server> <port>
] [

][]n[] - Время ожидания в секундах перед автоматическим выходом. Оно может быть дробным, как 0.5. Обратите внимание, что некоторый требуемый вывод может не быть возвращен в указанное время ожидания. Поэтому может понадобиться соответственно увеличить.[

] [

][]server[] - IP или имя хоста целевого сервера.[

] [

][]port[] - Номер порта целевой службы.[

] [

]Также можно перенаправить вывод в такой файл,[

] [
sleep 1 | telnet <server> <port> > output.log
]
10
27.01.2020, 19:54

В моем случае это работает. (CentOs7):

while read host port; do
r=$(bash -c 'exec 3<> /dev/tcp/'$host'/'$port';echo $?' 2>/dev/null)
if [ "$r" = "0" ]; then
     echo "$host $port is open"
else
     echo "$host $port is closed"
     exit 1 # To force fail result in ShellScript
fi
done

:) Regards

7
27.01.2020, 19:54

Вот решение, которое я нашел в Интернете:

( echo open 127.0.0.1 23
sleep 5
echo your_login
sleep 5
echo your_password
sleep 5
echo hostname
sleep 5
echo exit ) | telnet

У меня работает на SunOS и HP -UX

1
27.01.2020, 19:54

Попробуйте

echo -e '\x1dclose\x0d' | telnet {HOSTNAME} {PORT}

Лучшая часть вышеизложенного заключается в том, что вы также получаете статус выхода. Если telnet прошел успешно, код выхода будет 0 или 1

5
27.01.2020, 19:54

Избегайте netcat, если у вас есть настраиваемые маршруты, так как он не подчиняется правилам маршрутизации. Подобно тому, как nslookup, digи hostигнорируют файл /etc/hosts(nslookup, dig, firefox игнорирует записи в файле /etc/hosts).

т.е. :в отличие от приложений и инструментов, таких как telnetи/dev/tcp(Тестирование удаленного TCP-порта с помощью telnet путем выполнения однострочной -команды ), которая следует системным правилам маршрутизации, ncиспользует значение по умолчанию шлюз, если специально не указано использовать исходный IP-адрес с-s:

nc -w 3 -s 192.168.1.12 example.com 8080

Мне нужно было проверить, может ли приложение получить доступ к ресурсу, и если маршруты не работают, netcatсообщил, что все в порядке, поскольку в тесте был указан исходный адрес. Я перехожу на использование/dev/tcp.

1
21.02.2020, 15:03

Теги

Похожие вопросы