如何用c#编写一个自动抓取ARP包的程序?

2025-04-17 20:20:55
推荐回答(2个)
回答1:

ARP包可以用MS的PlatFormSDK中的IP Helper中的
DWORD SendARP(IPAddr DestIP,IPAddr SrcIP,PULONG pMacAddr,PULONG phyAddrLen);
来发送,在C++中容易实现,在C#中没有试过,你可以试一下,

ms-help://MS.MSDNQTR.2003FEB.2052/iphlp/iphlp/sendarp.htm
MSDN这个链接里有一个VC的例子,

我不知道我的这个声明对不对,
[DllImport("Iphlpapi.dll",CharSet=CharSet.Auto)]
public extern static System.UInt32 SendARP( System.UInt32 DestIP,
System.UInt32 SrcIP,
out System.Int32 pMacAddr,
out System.Int32 PhyAddrLen);

回答2:

请参考http://hi.baidu.com/yofox/blog/item/e0c820ce4c415e3fb600c8df.html
是用C#开发的 不过要调用一个SHARPCAP
源代码也提供了的
只是那是一个发送ARP攻击的软件,其中含有获取ARP的方法。