抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。
一些原理和概念性的东西如果详解估计一本书也写不完,为了快速进入正文,有些概念和原理不明白的还请大家自行去百度一下。
本文讲解的抓包是一个主动的过程,主要抓取某个软件或某个app的数据包。和黑客技术中的嗅探有所不同,还请区分。
抓包工具介绍:
Wireshark,在N久以前也叫Ethereal。这是目前网络封包分析行业中使用最广的软件,功能非常强大。开源软件,支持二次开发,支持插件开发。一般在工作中,我使用它来进行tcp协议的分析。在稍后的文章里会详细讲解使用方法
Wireshark
Fiddler,基于代理模式的抓包软件,主要用来抓取http https数据包,也支持websocket。通过设置代理,可以很方便的抓取手机、平板等移动设备的数据包。这个软件同样也是开源软件,使用c#开发。支持二次开发和插件,支持数据截取和修改,通过这个软件,即便不进行编程,也可以进行数据伪造。平时在工作中我主要使用以上俩个抓包软件,详细的使用方法我会在以后的文章里,通过实例的方式给大家讲解。
Fiddler
Charles,工作原理和Fiddler一样,平时用的不多,好像是个收费软件。可以运行在windows、macos和linux
Charles
HTTPAnalyzer,一款http抓包软件,虽然个人觉着不如Fiddler好用,但是他也有独特的优势,Fiddler由于基于代理模式抓包,一些不走系统代理的软件在Fiddler是抓不到的,但是HTTPAnalyzer可以。
HTTPAnalyzer
chrome、UC、Friefox的开发者工具(F12),这类工具可以抓取网页交互的数据包,对于web开发人员比较有用,我们做封包分析的基本用的很少,但是在逆向调试js时会经常用到这类工具,所以在此列出。
firebug
其他的如SmartSniff、httpwatch之类的我几乎没有使用过,没有话语权,这里就不做介绍了