网络分析专家论坛 netexpert's Archiver

grsgrs 发表于 2008-2-2 14:43

[开源]发个最近写的 MAC地址扫描工具(带Delphi源码)

写得不怎样,原本没打算拿出来现丑的,这里太冷清了点,遂发出来共享。

这个是Delphi 2007下写的,需要Indy的ICMP控件 (Delphi2006应该也能编译,因为都带的是Indy10)
原理就是多线程Ping一个网关下的所有主机,然后导出ARP缓存。
因为Ping前会发出ARP请求获取每个IP的MAC地址,所以在Ping完后用 arp -a 取得本机ARP缓存。
最后就是读入arp -a 的返回,并存起来备查。

[color=Red]关于探查防火墙[/color],程序中有防火墙的定义是:有ARP回应但无法Ping通的主机,所以请自行斟琢...

程序中有什么问题的可以直接在下面跟帖,我会定期查看的。

[[i] 本帖最后由 grsgrs 于 2008-2-2 15:11 编辑 [/i]]

grsgrs 发表于 2008-2-2 15:04

原理很简单,但是实际使用中多多少少有些问题。比如用30线程同时扫描,之后执行arp -a,会得到一大堆类似于:
  192.168.0.125        00-00-00-00-00-00        invalid
   192.168.0.126        00-00-00-00-00-00        invalid
   192.168.0.127        00-00-00-00-00-00        invalid
   192.168.0.128        00-00-00-00-00-00        invalid
   192.168.0.129        00-00-00-00-00-00        invalid
   192.168.0.130        00-00-00-00-00-00        invalid
的信息,再次扫描却又很正常。实在想不出来为什么,于是把这些 invalid 的arp缓存都过滤掉了:L 。
这种状况只有发起线程比较多时容易出现,不过不影响使用就是了。



开发这个工具是为了对付局域网中的ARP攻击。将拦截到的MAC地址输入右下的查询框回车,就可以找到目标的真实IP。
然后拿出OmniPeek,咱也用ARP回敬吧:lol

[[i] 本帖最后由 grsgrs 于 2008-2-2 15:10 编辑 [/i]]

daojin.qin 发表于 2008-3-12 08:49

LOOK

学习一下

Pbreak 发表于 2008-6-5 15:21

学习了,谢谢。

Pbreak 发表于 2008-6-5 16:16

能不能把主机名称也加进去,更好些:)

chinit 发表于 2008-6-6 13:05

这个用icmp ping说实话感觉不是正经的途径啊,因为有arp协议嘛,而且
icmp ping可能会被防火墙过滤掉的啊

搞了个用arp协议的,对局域网每个ip地址发arp请求,有一个单独的线程监听网络
对每个针对自己的arp答复,分析数据,输出结果

额,这个是命令行的,木有界面

测试环境VMware-workstation-5.5.1-19175 + Debian3.2-i386
我木有linux机器用。。。

[attach]17275[/attach]

noney 发表于 2008-6-6 16:59

支持你..:loveliness:

grsgrs 发表于 2008-6-6 17:20

[quote]原帖由 [i]chinit[/i] 于 2008-6-6 13:05 发表 [url=http://www.netexpert.cn/redirect.php?goto=findpost&pid=125378&ptid=18541][img]http://www.netexpert.cn/images/common/back.gif[/img][/url]
这个用icmp ping说实话感觉不是正经的途径啊,因为有arp协议嘛,而且
icmp ping可能会被防火墙过滤掉的啊

搞了个用arp协议的,对局域网每个ip地址发arp请求,有一个单独的线程监听网络
对每个针对自己的arp答 ... [/quote]

确实用ICMP不好,不过防火墙只是拦截ICMP的返回信息,ARP的回应不会过滤,这个就是我判断防火墙存在的依据。
我也想过用ARP请求包探查局域网节点,不过这种扫描方式依然不隐蔽,发起攻击前必然会对局域网所有机器发一遍ARP请求,很容易被查出来。

我想的办法是通过写一个ARP Sniffer抓ARP包,先取得一部分IP地址的对应MAC。就算这些IP地址里没有目标主机,也可以减少探测主机的数量,从而隐蔽发动攻击前的扫描行为。不过最近比较忙,暂时只写好了抓包部分。

jjwspj 发表于 2008-6-12 16:35

学习了,谢谢lz

liangjian0 发表于 2008-6-13 08:24

学习了




























[img]http://www.gh136.cn/images/QQ_32119616/sigline.gif[/img]
[url=http://www.365xxg.cn/files/article/x/4/4644/]盘龙最新章节[/url]

jackyu 发表于 2008-6-27 15:38

希望能多公开些源码,谢谢楼主了,正好学习:)

simonzhan 发表于 2008-7-8 17:05

好东东,虽然不懂编程,但对网络分析方面的很感兴趣现在,希望有多的内容学。

小树 发表于 2008-8-20 15:33

学习了 :) :) :)

userzhaotong 发表于 2008-9-17 14:52

确实是很有用的一个程序,以前中了ARP,查不出是哪台机器,以后可以查找了。

zycwolf 发表于 2008-9-17 16:37

有才!!支持

shifor1983 发表于 2008-9-21 15:00

太 高深了,木看懂

nssn 发表于 2008-9-28 11:34

感谢分享~~~

zrx 发表于 2008-9-28 23:20

用 PING 广播地址可以吗?

用 PING 广播地址可以吗?

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.