捕获TCP SYNC事件

时间:2011-11-11 13:54:49

标签: c# .net events sockets

如何在.NET中捕获特定套接字的TCP SYNC事件?

我希望能够启动一个方法,该方法将检测是否进行了SFTP数据传输请求,并在完成时执行某些操作,如通知或日志记录。

1 个答案:

答案 0 :(得分:0)

假设您要检测打开和关闭的套接字不是您的程序自己负责的,但系统上的其他一些进程正在处理它,最好的方法可能是使用winpcap图书馆。 winpcap允许您订阅进出网络接口的所有IP数据包的原始订阅源。您还可以提供一个过滤器,例如“仅在端口22上显示TCP数据包”。您的程序接收原始数据包,以便获得以太网标头,然后是IP标头,接着是TCP标头,然后是数据负载(有效负载将为SFTP加密)。通过分析这些数据包,您将能够检测到连接时的TCP握手,并知道连接的IP和端口,并检测TCP蒸汽何时关闭。

我自己不使用.NET,但我确实在Google上找到了这个用于.NET的winpcap包装器,它允许你使用.NET应用程序中的winpcap

WinPCAP.NET Wrapper