我差不多是无意中发现我的电脑在与波兰的一台机器发送和接收UDP数据包。并不是我对波兰有任何问题,我只是不知道为什么我的笔记本需要与那里的服务器通信。反向DNS只显示ISP向某个终端用户提供地址。使用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和一些嗅探器代码来监视并跟踪您计算机上的任何特定应用程序使用什么协议连接到哪些主机的哪些端口。如果我有空闲时间,我会考虑创建这个应用程序,如果您知道有这样的应用程序,请告诉我。
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和一些嗅探器代码来监视并跟踪您计算机上的任何特定应用程序使用什么协议连接到哪些主机的哪些端口。如果我有空闲时间,我会考虑创建这个应用程序,如果您知道有这样的应用程序,请告诉我。