Я почти случайно обнаружил, что моя машина отправляет и получает пакеты UDP на машину в Польше.Не то чтобы у меня были какие-то проблемы с Польшей, я просто не знаю, почему моему ноутбуку нужно общаться с сервером там.Обратный DNS показывает только провайдера, предоставляющего адрес некоторому конечному пользователю.Используя Wireshark, я могу отслеживать сообщения, которые невозможно было расшифровать, поскольку они, вероятно, были зашифрованы.Все пакеты, отправленные с моей машины, имели один и тот же исходный порт, поэтому приложение, которое их отправляло, явно открыло этот UDP-сокет, чтобы использовать его.Я ищу способы:
1) перечислить все текущие сокеты, открытые в системе, включая процесс, который его создал, и для TCP и UDP, с какими портами и адресами они связаны в данный момент.
2) поскольку приложения могут открывать эти сокеты, использовать их и сразу же закрывать, я хотел бы найти (или, возможно, даже написать) программу, которая после запуска будет каким-то образом получать уведомление при каждом создании сокетаили, что более важно, когда привязаны к источнику и / или адресу назначения и порту.Для UDP я хотел бы также иметь возможность отслеживать / отслеживать IP-адреса и порты назначения, на которые сокет отправлял сообщения.
Я не хочу контролировать сам трафик, у меня есть Wireshark, еслиЯ хочу посмотреть трафик.Я хочу иметь возможность затем перекрестные ссылки, чтобы узнать, какое приложение генерирует пакеты.Я хочу знать, происходит ли это из процесса, которому я доверяю, или это то, что мне нужно исследовать дальше.
Кто-нибудь знает какие-либо приложения (для платформы Windows), которые могут это сделать?Если нет, какие-либо идеи о .NET или Windows API, которые предоставляют эту возможность, я должен написать сам?
Редактировать : После дальнейших исследований - выглядит как APIчтобы использовать GetExtendedUdpTable и GetExtendedTcpTable, CodeProject.com имеет несколько примеров, обертывающих их в .NET (см. http://www.codeproject.com/Articles/14423/Getting-the-active-TCP-UDP-connections-using-the-G). Так что комбинация этого API и некоторого кода сниффера понадобится для мониторинга и отслеживания того, какие хосты на каких портахиспользуя протокол, с которым общается какое-то конкретное приложение на вашем компьютере. Если у меня когда-нибудь будет свободное время, я рассмотрю возможность его создания, если вам известно о приложении, которое делает все это, пожалуйста, дайте мне знать.