Солярис встроил команду для TCP соединения без всякой мелочи

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

местный хост telnet <файл_данных

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

Можно ли использовать команду telnet или целую команду nother?

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

4 ответа

Решение

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

человек Баш:

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 по умолчанию. У вас есть что-то против пакетов?

Как уже говорил Пойдж: вы можете использовать устройство /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

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

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

Другие вопросы по тегам