ARP扫描器子网解析异常与数据包错误问题求助
ARP扫描器子网解析异常与数据包错误问题求助
各位大佬好,我最近在做一个ARP扫描器,但碰到了两个棘手的问题,希望能得到大家的帮助:
- ARP数据包子网错误:我写了子网转IP范围的解析函数,用来遍历发送ARP请求。但通过Wireshark抓包发现,程序生成的ARP数据包目标IP段不对——比如我输入子网
192.168.1.1/24,抓包显示的目标IP是1.1.168.X,完全不是预期的192.168.1.X。 - 特定子网无响应:输入
192.168.1.0/24时,程序完全没有任何反应,既不生成数据包也没有扫描结果;但换成192.168.1.1/24就能正常触发ARP请求(虽然数据包还是错的)。
下面是扫描器的核心代码片段:
[DllImport("iphlpapi.dll", ExactSpelling = true)] private static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref uint PhyAddrLen); private static uint macAddrLen = (uint)new byte[6].Length; private async Task PerformArpScan() { ScanResults.Clear(); foreach (var subnet in Subnets) { // 此处省略子网解析为IP范围并遍历发送ARP请求的逻辑 } }
抓包截图显示:ARP请求的目标IP字段为1.1.168.x格式,和输入的子网段完全不符。
备注:内容来源于stack exchange,提问作者Johny Wave
相关产品推荐
相关产品推荐

