если я сделаю
telnet host_ip port < /dev/null
Trying host_ip...
Connected to host_ip.
Escape character is '^]'.
Connection closed by foreign host.
Проверяя wirehark, клиентская сторона отправляет tcp rst
на принимающую сторону. Кто-нибудь может объяснить, что именно происходит? Требуется ли для telnet интерактивный режим?
Вы уверены, что служба TelNet работает на Linux-машине? Попробуй это
telnet localhost 23 (23 port of telnet)
или попробуйте использовать netcat
сначала вам нужно увидеть системный журнал ubuntu с помощью этой команды
sudo gedit / var / log / системный журнал
и если вы увидите эту ошибку «execv (/ usr / sbin / tcpd) failed: No such file or directory», запустите эту команду
sudo apt-get install tcpd
он решит вашу проблему (если нет, вам нужно поискать системную ошибку в Google)
Telnet является двунаправленным, поэтому, когда один конец закрывается, он также предлагает закрыть другой конец. Если вы хотите, чтобы stdin оставался открытым на клиенте, вы можете использовать такие инструменты, как expect
чтобы обернуть вызов внутри pty:
expect <<\!
spawn telnet host port
expect eof
!