文件名称:c#写的ARP发包器arpsender
文件大小:200KB
文件格式:RAR
更新时间:2012-01-16 20:04:16
c# arp
ArpSender是C#写的ARP发包器,写的初衷是想试下什么样的ARP包才会引起ARP攻击,构造一些包可能会导致别人上不了网。至于包怎么填,发挥大家的想象吧,嘿嘿。 ArpSender用了SharpPcap这个开源API,有兴趣的到网上查下,用起来挺简单的。编程过程中最大的问题就是线程的问题。发包的代码中用了BackgroundWorker控件,因为参数只能传一个,并且线程是不允许直接调用主窗口控件,后来用了一个结构体struct ArpPac来传,感觉还是很麻烦啊!不过还好在BackgroundWorker的RunWorkerCompleted可以直接操作主窗口控件了,能把结果显示到主窗口上。 在编写获取IP的MAC地址部分,一开始还是用BackgroundWorker,在获取存在的IP地址MAC时可以正常工作,可是当IP不存在是,DOWORK方法一直没结束。因为里面一个Resolve方法一直没返回,也没超时设定,线程就一直卡在那不动了。也不知道该怎么结束这个线程。于是改用了Thread,传参数用了个object数组,嘿嘿,所有参数都封起来。到了那边再解封,很好用。后来才发现,线程是没有返回值的。。又不能直接操作窗体控件。。没办法,只好设个全局变量来保存结果了。获取MAC部分还用了个Timer控件,1秒钟如果还没得到返回的MAC,直接结束该线程。。。 BackgroundWorker 用起来简单也很好用,如果有个abort方法的话。。。
【文件预览】:
ArpSender
----ArpSender.as(339B)
----bin()
--------Debug()
--------Release()
----obj()
--------ArpSender.csproj.FileList.txt(502B)
--------Debug()
--------Release()
----MainForm.resx(6KB)
----ArpSender.suo(14KB)
----ArpSender.sln(812B)
----MainForm.cs(11KB)
----ArpSender.csproj(2KB)
----说明.txt(1KB)
----MainForm.Designer.cs(21KB)
----Tamir.IPLib.SharpPcap.dll(172KB)
----AssemblyInfo.cs(1KB)