开发者、运维、白帽子黑客等技术男,都有一些常用的抓包工具,本文将使用过的全面总结。

抓包工具是拦截查看网络数据包内容的软件,技术人员用抓包工具来分析报文,针对漏洞做一些渗透测试,调试,修复bugs

 

常用的抓包工具的对比

一、httpwatch(仅支持 Windows平台,我用MacOS,不推荐

官网:https://www.httpwatch.com

HttpWatch是功能强大的网页数据分析工具,主要功能有网页摘要、cookies管理、缓存管理、消息头发送/接收,字符查询、POST数据、目录管理功能和报告输出。

1.   httpwatch,支持Windows平台下的 IE、Firefox、Chrome(新增的)浏览器集成,但不支持 MacOS、Linux平台下的Chrome、Firefox,因为安装的 httpwatch

 只有  xxx.exe 格式(仅windows支持);httpwatch界面清晰直观,发送请求后可以快速简单的查看Cookies, Headers, Query Strings and POST data,能够通过页面分组处理多页面场景。

2.   实时分级时间展示图能够展示一个http/https请求的处理过程;通过不同的颜色展示网络请求计时,如DNS查询,TCP连接;以瀑布形式展示浏览器事件,例如从浏览器渲染和页面加载计时就开始了,可以自动检查性能问题。

3.   安装简单,不需要设置代理和证书;提供接口API可以被大部分编程语言自动化调用、录制、保存结果。

4.   但只能看不能修改,不可交互

火狐浏览器下有著名的httpfox,而HttpWatch则是IE下强大的网页数据分析工具。

1、下载 httpwatch

httpwatch 官网:https://www.httpwatch.com/download/ (下载免费版,专业版收费)

本示例下载安装:https://download.httpwatch.com/httpwatch.exe?v=12.1.5.exe (exe格式,只支持 windows,不支持 linux、macos平台

2、安装 httpwatch

双击 httpwatch.exe,默认安装,注意点如下图红字

3、使用 httpwatch

打开网页,鼠标右键打开菜单,选择 "HttpWatch Basic",如下图:

说明:Windows下的IE、Firefox、Chrome支持,但 最新的 Edge不支持

教程请见百度经验:httpwatch抓包工具的使用方法

 

二、Fiddler(仅支持 Windows、MacOS、Linux,推荐

官网:https://www.telerik.com/fiddler

下载:Downloading Fiddler for OS X

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

Fiddler 默认支持 Windows(下载安装  FiddlerSetup.exe),且兼容 MacOS、Linux(下载解压 fiddler-mac.zip + 安装 mono

这里要说明,mono 是微软支持的 跨平台项目,即把微软的 .Net Framework 一套通过 mono 可移植MacOS、Linux,类似于 Java、Qt跨平台兼容

1. Fiddler是一个独立的应用,可以调试PC、Mac或Linux系统和移动设备的之间的通信,支持大部分框架如java、.net、java、Ruby,需要设置代理。

2. 能够暂停Http通讯,并且允许修改请求和响应方便进行安全测试,也可以设置检查点做功能测试

3. 通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control头,那么他就不会被缓存在客户端。

4.可以通过Composer进行接口测试。

为什么是Fiddler?

抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下:

a)Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。

b)Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。

c)Httpwatch也是比较常用的http抓包工具,但是只支持 Windows 下的 IE、firefox、chrome浏览器(其他浏览器可能会有相应的插件),不支持 MacOS、Ubuntu等Linux平台,码农大多用MacOS,对于想要调试 MacOS 下的Chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

CSDN上的学习教程:

Fiddler(一) - Fiddler简介

Fiddler(二) - 使用Fiddler做抓包分析

Fiddler(三)- Fiddler命令行和HTTP断点调试

使用示例,下载安装  FiddlerSetup.exe,打开 Fiddler

 

三、Charles

官网:http://www.charlesproxy.com

Charles是一个Mac和Windows平台都可以使用的抓包工具,它的破解激活非常简单。只需要拷贝对应版本的charles.jar文件到安装路径中替换原文件即可。

Charles 是在 Mac 下常用的网络封包截取工具,在做APP移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。

配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。

网络抓包结果,如下图

详见米扑博客:MacOS Charles 抓包使用实例

 

四、Wireshark

官网:https://www.wireshark.org

Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,Ethereal 曾是(至今也是)全世界最广泛的网络封包分析软件之一。

Wireshark是非常流行的网络封包分析软件,功能十分强大,可以截取各种网络封包,显示网络封包的详细信息。

使用Wireshark的人必须了解网络协议,否则就看不懂Wireshark,为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

Wireshark能获取HTTP、HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容

总结,如果是处理HTTP、HTTPS 还是用Fiddler,其他协议比如TCP、UDP 就用wireshark.

 

五、科来网络分析系统

官网:http://www.colasoft.com.cn

1. 科来网络,是一家网络公司,主要业务是通过专业的抓取网络数据包进行网络检测,网络协议分析工具,可实时监测网络传输数据,全面透视整个网络的动态信息。除了能实时检测每台电脑的上网情况,邮件收发情况,网络登录情况,网络流量外,还具有强大的数据包解码分析功能,可诊断网络故障,定位网络瓶颈,检测网络安全隐患,支持多种协议。

2. 一般用于抓取其他协议包

3. 类似的网络监控公司还有好多,例如:安在软件第三只眼ManageEngine、华为(路由器)、,详见百度百科:网络监控软件

 

六、Firebug(已被淘汰,找不到了)

最古老、经典、好用的调试工具,绝大多数功能已被集成到了各浏览器的开发者工具,故现在似乎已被淘汰了。

1、Firebug是firefox下的一个扩展,它除了能进行网络分析还能够调试所有网站语言,如js、html、css等,支持各种浏览器如IE、Chrome、Firefox、Opera,、Safari。

2、Firebug是开源工具,能够将页面中的CSS、Javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,方便我们对网页进行调优。

3、Firebug编辑、删改任何网站的CSS、HTML、DOM 以及Javascript 代码,可以通过小箭头定位页面元素。

 

七、浏览器的内置抓包工具常用简便,极力推荐

如果用过Firefox的F12功能键,应该也知道这里也有网络抓包的工具,是内置在浏览器里面的

貌似现在每款浏览器都有这个内置的抓包工具,虽然没有上面两个工具强大,但是对于测试而言,我觉得是足够了!

下面是一个非常详细的教程:几种主流浏览器内置http抓包工具软件使用方法  (百度经验)

 

 

常用抓包工具的最全汇总

1. Hping

官网: http://www.hping.org

Hping是最受欢迎和免费的抓包工具之一,它允许你修改和发送自定义的ICMP,UDP,TCP和原始IP数据包,此工具由网络管理员用于防火墙和网络的安全审计和测试。

HPing可用于各种平台,包括Windows,MacOS,Linux,FreeBSD,NetBSD,OpenBSD,Solaris。

 

2. Ostinato

官网:https://ostinato.org

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。

 

3. Scapy

官网:https://scapy.net

Scapy是一个基于Linux/Unix平台原生的交互式数据包处理工具,用Python编写的,它可以解码或伪造大量协议的数据包。

Scapy是一个值得尝试的工具,可以执行各种任务,包括扫描,跟踪,探测,单元测试,网络发现。

 

4. Libcrafter

官网:https://github.com/pellegre/libcrafter (最新)

老站:https://code.google.com/archive/p/libcrafter/ (已迁移到了github)

Libcrafter非常类似于Scapy。这个工具是用C ++编写的,使得更容易创建和解码网络数据包。

它可以创建和解码大多数一般协议的数据包,捕获数据包和匹配请求或回复。这个工具可以多线程执行各种任务。

 

5. Yersinia

官网:https://github.com/tomac/yersinia

Yersinia是一个强大的网络渗透测试工具,能够对各种网络协议进行渗透测试。如果你正在寻找抓包工具,你可以试试这个工具。

yersinia是OSI第2层的攻击的框架,支持生成树协议(STP),VLAN中继协议(VTP),动态中继协议(DTP),IEEE 802.1Q,IEEE 802.1X,思科发现协议(CDP),动态主机配置协议(DHCP)等

 

6. packETH

官网: https://github.com/jemcek/packETH

packETH是另一个数据包处理工具。它是一个Linux GUI的以太网工具。

它允许你快速创建和发送数据包序列。与此列表中的其他工具一样,它支持各种协议来创建和发送数据包。

你还可以设置数据包数量和数据包之间的延迟,还可以在此工具中修改各种数据包内容。

 

7. Colasoft Packet Builder

官网:http://www.colasoft.com.cn

Colasoft Packet Builder也是一个用于创建和编辑网络数据包的免费工具。

如果你是网络管理员,你可以使用此工具来测试你的网络。它适用于所有可用版本的Windows操作系统。

 

8. Bit-Twist

官网:http://bittwist.sourceforge.net/

Bit-Twist是一种不太流行但好用的工具,用于在实时流量中重新生成捕获的数据包。

它使用tcpdump跟踪文件(.pcap文件)在网络中生成的数据包。它带有跟踪文件编辑器,允许你更改捕获的数据包中的任何特定字段。

网络管理员可以使用此工具测试防火墙,IDS和IPS,并对各种网络问题进行故障排除。你可以尝试一下这个工具。

 

9. Libtins

官网:http://libtins.github.io

Libtins也是一个很好的工具,用于制作,发送,嗅探和解析网络数据包。

这个工具是用C++编写的,C++开发人员可以扩展此工具的功能,使其更强大,更有效地执行其任务。

 

10. Netcat

官网:http://nc110.sourceforge.net ,https://sourceforge.net/projects/nc110

Netcat也是一个流行的工具,可以在TCP或UDP网络中读取和写入数据。它可以创建几乎所有种类的网络连接与端口绑定。

这个工具最初被称为Hobbit,并于1995年发布。

 

11. WireEdit

官网:https://omnipacket.com/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。

 

12. epb – Ethernet Packet Bombardier

官网:http://maz-programmersdiary.blogspot.com/

Epb-Ethernet Packet Bombardier也是一个类似的工具。它允许你发送自定义的以太网包。

此工具不提供任何GUI,但它是易于使用。

 

13. Fragroute

官网:https://www.monkey.org/~dugsong/fragroute/

Fragroute是一个数据包处理工具,可以拦截,修改和重写网络流量。

你可以使用此工具执行大多数网络渗透测试,以检查网络的安全性。

这个工具是开源的,并提供命令行界面来使用。它适用于Linux,BSD和Mac OS。

 

14. Mausezahn

官网:http://www.perihel.at/sec/mz/

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。

 

15. EIGRP-tools

官网:https://en.kali.tools , https://securiteam.com/tools/6K00N00EUG/

这是EIGRP数据包生成器和嗅探器组合。它被开发用于测试EIGRP路由协议的安全性。

要使用此工具,您要了解第3层EIGRP协议。此工具也是一个具有命令行界面的开源工具。

它可用于Linux,Mac OS和BSD平台。

 

 

白帽子黑客抓包工具排行榜

网络安全的白帽子黑客都有一些强大娴熟的抓包工具,抓包工具是拦截查看网络数据包内容的软件。

白帽子黑客用抓包工具来分析报文,针对漏洞做一些渗透测试。

下面对白帽子黑客常用的五种网络抓包工具做了个整理。

 

第五名:TCPDump(网络类)

根据白帽子黑客抓包工具的使用率,将TCPdump排在第五的位置。

TCPdump功能很强大,能够搞到所有层的数据。Linux作为路由器和网关这种网络服务器时,就少不了数据的采集、分析工作。

而TCPdump恰好是一种功能强大的网络数据采集分析工具。

简单来说就是,可以根据用户的定义来截获网络上数据包的包分析工具。

TCPdump的功能和截取策略,捕获了高级系统管理员的芳心,成为其分析和排除问题的一种必备工具。

 

第四名:Wireshark(网络类)

Wireshark(前称Ethereal)是一个网络封包分析软件,是最流行的一种图形化的抓包工具,而且在Windows、Mac、Linux等三种系统中都有合适的版本

Wireshark可以被用来检测网络问题、资讯安全问题、学习网络协定相关的知识,或者为新的通讯协定除错。

它是白帽子黑客、网络管理员、安全工作人员的必备工具之一。

 

第三名:HttpWatch(Web报文)

HttpWatch在IE浏览器的工具栏中,是功能比较强大的一种网页数据分析工具,而且能够收集显示较为深层的信息。

它不依赖于代理服务器、网络监控工具,就可以将网页和网页请求信息、日志信息同时显示。另外,它还可以显示一些交换信息。

 

第二名:Fiddler(web报文)

Fiddler是白帽子黑客最经常使用的,是可以进行http协议调试的一种web报文渗透工具。

它可以记录电脑联网的所有通讯,可以查看所有“出入”Fiddler的cookie, html, js, css等数据。并且优点是使用起来非常简单。

 

第一名:BurpSuite (web 报文)

BurpSuite是现在Web安全渗透的必备工具。

它是一个集成平台,平台中汇集了可以用来攻击web应用的工具,这些工具有很多接口,共享一个扩展性比较强的框架。

 

 

参考推荐:

MacOS Charles 抓包使用实例

运维人员常用软件总结

在公司如何防止监控上网记录

HTTPS 工作原理

http 请求头中的代理字段 Proxy-Connection

HttpWatch 抓包工具详解 (Chrome 插件网)

Thor 手机端HTTP 抓包分析工具

fiddler (for Windows)

Http Watch 抓包工具的使用方法   (百度经验)

Charles 抓包工具破解、抓包入门 (CSDN)

yersinia工具的使用(vlan跳跃,stp攻击等) (CSDN)

几种主流浏览器内置http抓包工具软件使用方法  (百度经验)

Fiddler(一) - Fiddler简介

Fiddler(二) - 使用Fiddler做抓包分析

Fiddler(三)- Fiddler命令行和HTTP断点调试

Wireshark 使用详解

Wireshark 抓包工具详细说明及操作使用