Предположим, клиентское приложение TCP/IP подключилось к определенному порту на сервере.

И клиент, и сервер работают на локальном хосте.

Возможно ли другое приложение (также на локальном хосте) прослушивать сообщения, отправленные клиентом на этот порт?

1 ответ1

1

Это полностью зависит от того, что вы подразумеваете под "слушать".

Вы можете настроить wireshark на сниффинг в интерфейсе Loopback, для захвата пакетов в потоке межпроцессных коммуникаций или для служб с адресацией 127.0.0.1.

Тем не менее, вам все еще нужно иметь возможность декодировать двоичные сериализованные данные, что может быть нетривиальным, если процессы передают нетекстовые данные. Однако если данные представляют собой поток символов , большинство анализаторов автоматически декодируют в ASCII и / или Unicode, когда вы просматриваете данные пакетов.

Однако, подобные вам продукты - ваш единственный выбор. Порты являются исключительными для процесса, который их создает, поэтому, если сервер не предназначен для доступа к нескольким приложениям через какую-либо программу-брокер (например, пул соединений), внешние порты не могут отслеживать порты. Единственным исключением является системное программное обеспечение, использующее драйвер для обхода больших фрагментов стека TCP/IP ОС (как это делает анализатор, считывая данные непосредственно с сетевой карты и используя собственный код TCP/IP для анализа структуры данных). Это означает, что вам придется выполнить перехват TCP (атака «человек посередине»), которую очень сложно выполнить против современного стека TCP/IP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .