Как я могу отслеживать трафик на одном порту?

7939
John T

Я занимаюсь разработкой клиента мессенджера Python, но чувствую, что он больше ориентирован на суперпользователя, чем на StackOverflow. Похоже, что мое серверное приложение не получает данные, отправляемые время от времени, поэтому я хочу посмотреть, что именно отправляется каждый раз через определенный порт, такой как 42222. Я пробовал wireshark, но у меня возникают проблемы с фильтрацией данных на этом порту специально.

2

2 ответа на вопрос

5
John T

Ваше решение WireShark будет работать, вам просто нужно использовать правильный фильтр:

port 42222 

Вы можете прочитать вики WireShark по фильтрам захвата, есть множество полезных фильтров, которые вы можете использовать.

если вы укажете только исходный порт, вы не сможете видеть ответы, а если вы укажете только Dest Port, вы не увидите запросы nos 15 лет назад 0
@ nos, аааа, не знаю, о чем я думал ... Ты абсолютно прав. (Чтобы избежать путаницы, я удалил свой предыдущий комментарий, предполагая, что «должен контролироваться только локальный * или * удаленный порт».) Кстати: аналогичный фильтр * display * будет читать ** `tcp.port eq 42222 или udp .port eq 42222` ** (где такие вещи, как `tcp.dstport`, будут показывать только часть сообщений, как заметил @nos). Arjan 15 лет назад 0
2

Скачайте и запустите Nirsoft's SmartSniff (он «портативный», поэтому установка не требуется), нажмите CTRL + F8, чтобы открыть фильтр, и введите следующую строку:

include:local:tcp:42222 

Теперь настройте параметры (например, отображение времени захвата, отображение исходящих данных и т. д.) по своему вкусу. Вы можете создать HTML-отчет из меню Вид .