【发布时间】:2023-03-17 21:39:01
【问题描述】:
这是我一直在处理的问题,我有一个服务器套接字,我需要使用它来接收原始数据。这个想法是捕获原始数据包,以便可以根据其标头数据对其进行分析和处理。 我已经做了很多调试例程和谷歌搜索并阅读了很多文章,但我还没有找到一种方法来让它工作。
到目前为止,我主要被 Listen() 命令卡住了。初始化代码如下:
s1 = New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Raw, Net.Sockets.ProtocolType.IPv4)
Dim Lcip As New Net.IPAddress({192, 168, 1, 5})
Dim ep As New Net.IPEndPoint(Lcip, 155)
Dim maxcon As Int32 = 500
s1.SetSocketOption(Net.Sockets.SocketOptionLevel.IP, Net.Sockets.SocketOptionName.HeaderIncluded, True)
s1.Bind(ep)
s1.Listen(Int32.MaxValue)
s2 = s1.Accept
正如我所说,Listen() 命令是我的程序跳闸的地方,是的,我尝试了正常值但无济于事。
有什么想法吗?
目标:接收包含完整报头的数据包数据(IP、MAC、chksum、SYN/ACK 等) 次要目标:从任何 IP 接收,并指定要专门监控的适配器(即仅 wifi,或仅有线 lan)
【问题讨论】:
标签: vb.net sockets header packet raw-sockets