wireshark 在macOS对http和https请求抓包
一、对http协议抓包
-
根据本机使用情况选择抓包的接口
![image]()
-
过滤框中输入:ip.addr == 8.134.49.49,指定查看的ip
![image]()
-
左键点击选定,http请求的某个url,在工具栏“统计”-> "流量图",即可看到单次http中的tcp“三次握手,四次挥手”
![image]()
-
如果只是看请求头/响应头,右键点击某个url,“追踪流”-> "TCP Stream", 不过这其实在浏览器F12也可以看到
![image]()
-
附一些过滤规则:
指定域名:tls.handshake.extensions_server_name == "www.cnblogs.com"
指定ip和协议:ip.addr == 8.134.49.49 and http
指定协议和端口:ip.addr == 8.134.49.49 and tcp.port == 8088
二、对https协议抓包
- 以chrome浏览器为例,先退出chrome程序,然后执行如下的命令,该命令会打开一个chrome界面,在此界面访问网址才能被抓包:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --ssl-key-log-file=/tmp/sslkeys.txt
-
然后启动Wireshark,在工具栏,Wireshark -> Preferences -> Protocols -> TLS -> 右侧指定(Pre)-Master-Secret log fileanme 指定为/tmp/sslkeys.txt
![image]()
-
在过滤框输入类似:tls.handshake.extensions_server_name == "blog.csdn.net",可以过滤网址
-
右键某一个请求的url链接,“追踪流”->"TLS流",就可以看到解密后的内容,如果不做1和2的操作,是无法查看TLS流的,查看TCP流也是加密的内容。






浙公网安备 33010602011771号