如何获取本程序的tcp连接,并将其强行关闭
怎么获取本程序的tcp连接,并将其强行关闭
在软件里加入了webbrowser,打开了某个页面,这个页面里有一个Flash,这个flash本身又与其服务器建立了tcp连接。
问题,怎么获取当前软件的所有tcp连接,获取后,又怎么样才能主动将其关闭。
------解决方案--------------------
SetTcpEntry()
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366378%28v=vs.85%29.aspx
------解决方案--------------------
使用GetExtendedTcpTable获取系统tcp连接列表,包含源地址端口、目标地址端口和进程id
按照进程id过滤,得到目标进程的tcp连接列表(两个地址两个端口)
接下来是干掉连接,有三法:
1、直接SetTcpEntry
2、通过原始套接字或pcap发送RST或FIN的tcp包
3、枚举进程套接字句柄,找到后getsockname\getpeername获取连接的地址和端口,对比正确后closesocket
在软件里加入了webbrowser,打开了某个页面,这个页面里有一个Flash,这个flash本身又与其服务器建立了tcp连接。
问题,怎么获取当前软件的所有tcp连接,获取后,又怎么样才能主动将其关闭。
------解决方案--------------------
SetTcpEntry()
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366378%28v=vs.85%29.aspx
------解决方案--------------------
使用GetExtendedTcpTable获取系统tcp连接列表,包含源地址端口、目标地址端口和进程id
按照进程id过滤,得到目标进程的tcp连接列表(两个地址两个端口)
接下来是干掉连接,有三法:
1、直接SetTcpEntry
2、通过原始套接字或pcap发送RST或FIN的tcp包
3、枚举进程套接字句柄,找到后getsockname\getpeername获取连接的地址和端口,对比正确后closesocket