使用以下抓包工具前建议你先了解不同协议和网络层的数据包结构。如果你不知道这些东西,你将无法了解如何做包分组工作,以及这些工具如何使用。出于学习目的,在使用这些工具列表之前,你必须了解不同协议的数据包,包中的不同字段,这些包字段的含义或目的,以及这些包在网络通信中的使用方式。一旦你知道这些事情,你将能够改变这些值,以便你在网络中看到你所需的效果。
1. Hping
Hping是最受欢迎和免费的抓包工具之一。它允许你修改和发送自定义的ICMP,UDP,TCP和原始IP数据包。此工具由网络管理员用于防火墙和网络的安全审计和测试。
HPing可用于各种平台,包括Windows,MacOs X,Linux,FreeBSD,NetBSD,OpenBSD和Solaris。
下载Hping:www.hping.org
2. Ostinato
Ostinato是一个开源和跨平台网络包生成器和分析工具。它带有GUI界面,使其易于使用和理解。它支持Windows,Linux,BSD和Mac OS X平台。您也可以尝试在其他平台上使用它。
该工具支持最常见的标准协议。请参阅下面的支持协议列表
Ethernet/ 802.3 / LLC SNAP
VLAN(with QinQ)
ARP,IPv4,IPv6,IP-in-IP a.k.a IP隧道(6over4,4over6,4over4,6over6)
TCP,UDP,ICMPv4,ICMPv6,IGMP,MLD
任何基于文本的协议(HTTP,SIP,RTSP,NNTP等)
通过使用Ostinato,你可以轻松地修改任何协议的任何字段。这个数据包工具也被称为第二个Wireshark。
下载Ostinato:ostinato.org
3. Scapy
Scapy是另一种不错的交互式数据包处理工具。这个工具是用Python编写的。它可以解码或伪造大量协议的数据包。Scapy是一个值得尝试的工具。您可以执行各种任务,包括扫描,跟踪,探测,单元测试,网络发现。
下载Scapy:www.secdev.org/projects/scapy
4. Libcrafter
Libcrafter非常类似于Scapy。这个工具是用C ++编写的,使得更容易创建和解码网络数据包。它可以创建和解码大多数一般协议的数据包,捕获数据包和匹配请求或回复。这个工具可以多线程执行各种任务。
下载Libcrafer: https://code.google.com/p/libcrafter/
5. Yersinia
Yersinia是一个强大的网络渗透测试工具,能够对各种网络协议进行渗透测试。如果你正在寻找抓包工具,你可以试试这个工具。
下载yersinia:www.yersinia.net
6. packETH
packETH是另一个数据包处理工具。它是一个Linux GUI的以太网工具。它允许你快速创建和发送数据包序列。与此列表中的其他工具一样,它支持各种协议来创建和发送数据包。你还可以设置数据包数量和数据包之间的延迟,还可以在此工具中修改各种数据包内容。
下载packETH:packeth.sourceforge.net
7. Colasoft Packet Builder
Colasoft Packet Builder也是一个用于创建和编辑网络数据包的免费工具。如果你是网络管理员,你可以使用此工具来测试你的网络。它适用于所有可用版本的Windows操作系统。
下载Colasoft Packet Builder: www.colasoft.com/download/products/download_packet_builder.php
8. Bit-Twist
Bit-Twist是一种不太流行但好用的工具,用于在实时流量中重新生成捕获的数据包。它使用tcpdump跟踪文件(.pcap文件)在网络中生成的数据包。它带有跟踪文件编辑器,允许你更改捕获的数据包中的任何特定字段。网络管理员可以使用此工具测试防火墙,IDS和IPS,并对各种网络问题进行故障排除。你可以尝试一下这个工具。
下载Bit-Twist:bittwist.sourceforge.net
9. Libtins
Libtins也是一个很好的工具,用于制作,发送,嗅探和解析网络数据包。这个工具是用C++编写的。C++开发人员可以扩展此工具的功能,使其更强大,更有效地执行其任务。
下载Libtins:libtins.github.io
10. Netcat
Netcat也是一个流行的工具,可以在TCP或UDP网络中读取和写入数据。它可以创建几乎所有种类的网络连接与端口绑定。
这个工具最初被称为Hobbit,并于1995年发布。
下载Netcat:nc110.sourceforge.net
11. WireEdit
WireEdit是一个功能齐全的WYSIWYG网络数据包编辑器。你可以在一个简单的界面中编辑所有的数据包层。这个工具是免费使用的,但你必须联系公司获得使用权。它支持Ethernet, IPv4, IPv6, UDP, TCP, SCTP, ARP, RARP, DHCP, DHCPv6, ICMP, ICMPv6, IGMP, DNS, LLDP, RSVP, FTP, NETBIOS, GRE, IMAP, POP3, RTCP, RTP, SSH, TELNET, NTP, LDAP, XMPP, VLAN, VXLAN, CIFS/SMB v1 (original), BGP, OSPF, SMB3, iSCSI, SCSI, HTTP/1.1, OpenFlow 1.0-1.3, SIP, SDP, MSRP, MGCP, MEGACO (H.248), H.245, H.323, CISCO Skinny, Q.931/H.225, SCCP, SCMG, SS7 ISUP, TCAP, GSM MAP R4, GSM SM-TP, M3UA, M2UA, M2PA, CAPWAP, IEEE 802.11等。
它也是一个多平台工具。它适用于Windows XP和更高版本,Ubuntu桌面和Mac OSX。
下载WireEdit:wireedit.com/downloads.html
12. epb – Ethernet Packet Bombardier
Epb-Ethernet Packet Bombardier也是一个类似的工具。它允许你发送自定义的以太网包。此工具不提供任何GUI,但它是易于使用。
您可以在此处详细了解此工具: http://maz-programmersdiary.blogspot.fi/2012/05/epb-ethernet-package-bombardier.html
13. Fragroute
Fragroute是一个数据包处理工具,可以拦截,修改和重写网络流量。你可以使用此工具执行大多数网络渗透测试,以检查网络的安全性。这个工具是开源的,并提供命令行界面来使用。它适用于Linux,BSD和Mac OS。
下载Fragroute:www.monkey.org/~dugsong/fragroute/
14. Mausezahn
Mausezahn是一个网络数据包编辑器,让你发送每一种网络数据包。此工具用于防火墙和IDS的渗透测试,但你可以在网络中使用此工具来查找安全错误。你还可以使用此工具来测试你的网络在被DOS攻击时是否安全。值得注意的是,它可以让你完全控制NIC卡。它支持ARP, BPDU, or PVST, CDP, LLDP, IP, IGMP, UDP, TCP (stateless), ICMP (partly), DNS, RTP,RTP optionally RX-mode for jitter measurements,Syslog protocols。
下载Mausezahn:www.perihel.at/sec/mz/
15. EIGRP-tools
这是EIGRP数据包生成器和嗅探器组合。它被开发用于测试EIGRP路由协议的安全性。要使用此工具,您要了解第3层EIGRP协议。此工具也是一个具有命令行界面的开源工具。它可用于Linux,Mac OS和BSD平台。
下载EIGRP-tools:www.hackingciscoexposed.com/tools/eigrp-tools.tar.gz
16.Wireshark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
下载Wireshark:QQ群:16004488(群文件内可下载)
Wireshark视频教程,点下面链接:
抓包工具Wireshark使用方法
抓取报文:
下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包。例如,如果想要在无线网络上抓取流量,点击无线接口。点击Capture Options可以配置高级属性,但现在无此必要。
点击接口名称之后,就可以看到实时接收的报文。Wireshark会捕捉系统发送和接收的每一个报文。如果抓取的接口是无线并且选项选取的是混合模式,那么也会看到网络上其他报文。
上端面板每一行对应一个网络报文,默认显示报文接收时间(相对开始抓取的时间点),源和目标IP地址,使用协议和报文相关信息。点击某一行可以在下面两个窗口看到更多信息。“+”图标显示报文里面每一层的详细信息。底端窗口同时以十六进制和ASCII码的方式列出报文内容。
需要停止抓取报文的时候,点击左上角的停止按键。
色彩标识:
进行到这里已经看到报文以绿色,蓝色,黑色显示出来。Wireshark通过颜色让各种流量的报文一目了然。比如默认绿色是TCP报文,深蓝色是DNS,浅蓝是UDP,黑色标识出有问题的TCP报文——比如乱序报文。
报文样本:
比如说你在家安装了Wireshark,但家用LAN环境下没有感兴趣的报文可供观察,那么可以去Wireshark wiki下载报文样本文件。
打开一个抓取文件相当简单,在主界面上点击Open并浏览文件即可。也可以在Wireshark里保存自己的抓包文件并稍后打开。
过滤报文:
如果正在尝试分析问题,比如打电话的时候某一程序发送的报文,可以关闭所有其他使用网络的应用来减少流量。但还是可能有大批报文需要筛选,这时要用到Wireshark过滤器。
最基本的方式就是在窗口顶端过滤栏输入并点击Apply(或按下回车)。例如,输入“dns”就会只看到DNS报文。输入的时候,Wireshark会帮助自动完成过滤条件。
也可以点击Analyze菜单并选择Display Filters来创建新的过滤条件。
另一件很有趣的事情是你可以右键报文并选择Follow TCP Stream。
你会看到在服务器和目标端之间的全部会话。
关闭窗口之后,你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文。
检查报文:
选中一个报文之后,就可以深入挖掘它的内容了。
也可以在这里创建过滤条件——只需右键细节并使用Apply as Filter子菜单,就可以根据此细节创建过滤条件。
Wireshark是一个非常之强大的工具,此处只介绍它的最基本用法。网络专家用它来debug网络协议实现细节,检查安全问题,网络协议内部构件等等。