Назад | Перейти на главную страницу

Встроенная команда Solaris для TCP-соединения без всяких вещей telnet

Иногда telnet используется для тестирования серверов, не относящихся к telnet, таких как серверы HTTP или SMTP, где протокол TELNET обычно не используется. Однако я думаю, что столкнулся со случаем, когда это мешает при отладке TCP-сервера. Я побежал

telnet localhost <файл_данных

И данные, которые получает сервер, отличаются от данных в файле.

Есть ли возможность использовать telnet или другую команду, которую я могу использовать?

Если его нужно устанавливать отдельно, то мне это не нужно. Я просто обойдусь без него.

Ну на самом деле это называется netcat и не является встроенным в Solaris. Но у вас есть другой вариант, если вы используете bash или zsh (или может быть что-то еще):

человек bash:

Bash handles several filenames specially when they are  used
in redirections, as described in the following table:
  …
     /dev/tcp/host/port
          If host is a valid hostname or  Internet  address,
          and  port  is  an  integer  port number or service
          name, bash attempts to open a  TCP  connection  to
          the corresponding socket.

я думаю netcat? Есть пакет Вот. Но по умолчанию Sun этого не делает. Вы что-то имеете против пакетов?

Как уже сказал poige: вы можете использовать устройство / dev / tcp //. Вот пример:

bash-3.2$ cat </dev/null >/dev/tcp/1.2.3.4/22; echo $?
0
bash-3.2$ cat </dev/null >/dev/tcp/1.2.3.4/1522; echo $?
bash: connect: Connection timed out
bash: /dev/tcp/1.2.3.4/1522: Connection timed out
1

Вы, вероятно, напишите для этого небольшой сценарий на bash. Сообщение «Тайм-аут» появляется после тайм-аута TCP, который обычно составляет 4 минуты. Это довольно долго ...

Может быть tcpdump? Но поскольку это явно не важно ...