抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。黑客常常会用抓包软件获取你非加密的上网数据,然后通过分析,结合社会工程学进行攻击。所以,学会抓包,对于学好网络安全技术十分。

  

    一.  在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。而工程师和程序常用的抓包工具有哪些呢?今天我们就来简单聊一聊最常用的2种。

1.Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。

2.wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。

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

二. Fiddler

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

     当启动fiddler,程序将会把自己作为一个代理,所以的http请求在达到目标服务器之前都会经过fiddler,同样的,所有的http响应都会在返回客户端之前流经fiddler。Fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。

  1.Fiddler的工作原理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。

 2.手机移动端处理HTTPS协议:

1).首先需要注意的是我们的移动端app必须保证和Fiddler的主机处于同一网络下

2).Fiddler选择开启远程连接,确认Fiddler代理主机的IP地址和端口号,进入Tools-->Options-->Connections-->勾选Allow remote computers to connect 默认监听的端口号8888()

3).Fiddler开启抓取HTTPS协议,进入Tools-->Options-->HTTPS-->勾选Capture HTTPS CONNECTS-->勾选Decrypt HTTPS traffic --> 勾选 Ignore server certificate errors 默认监听的端口号8888()

4).手机端连接电脑热点,在移动端设置手动代理为Fiddler主机,即Fiddler代理主机IP和端口号

选中网络对应的无线连接名称长按-->修改网络-->高级选项-->代理手动--填写代理IP地址和端口--保存

5).在手机端浏览器打开pc地址和端口,下载安装配置证书

6).在手机端打开app即可在电脑看到。

 3.Fiddler中设置断点修改Request

 Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)

抓包工具 linux wireshark 抓包工具有什么用_HTTP

第二种:用bpu命令对特定url设置断点,这种方式断点设在Before Requests。取消断点时只需要再执行bpu命令即可。
执行如下命令(如下图):

bpu https://www.baidu.com/

抓包工具 linux wireshark 抓包工具有什么用_HTTPS_02

 

另外,各种浏览器如均有自带的抓包工具,F12基本可以满足测试抓包需求。

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