Проблема
Я пытался использовать Ncat для просмотра TCP-трафика в виртуальной коробке CentOS. Однако на этой конкретной машине я не могу даже установить простую связь между сервером и клиентом.
Я открываю сокет TCP как «сервер» или слушатель (простите меня, если я ошибаюсь в правильной терминологии)
Терминал 1:
$ ncat -l 12345
Затем в отдельном терминале я инициирую клиентское соединение и пытаюсь отправить случайную строку:
Терминал 2:
$ ncat my_hostname 13245
<Random string to send>
Это инициирует следующую ошибку с моего «сервера» TCP
Терминал 1:
close: Bad file descriptor
Терминал 2:
Ncat: Broken pipe.
Я выполнил эту точную последовательность команд через cygwin, и они отлично работают. Я не уверен, что может быть причиной этого (если только это не отсутствие root-прав? см. ниже). Ищу что-то для отладки. Если это права root или может быть, как я могу проверить это, не имея прав root?
Дополнительная (релевантная?) информация
я побежал
$ Ncat my_hostname <port that I know has a TCP connection>
и он выдал много тарабарщины. Между тем, когда я пытаюсь прослушать тот же порт с помощью tcpflow, он говорит мне, что у меня нет разрешения. Итак, может быть, это просто проблема с разрешениями, о которой Ncat мне явно не говорит? У меня нет root-прав на этой машине, поэтому я не могу проверить эту гипотезу.
nc
работает нормально. Можешь попробовать? - person lorenzog   schedule 25.05.2018