wireshark 在macOS对http和https请求抓包

一、对http协议抓包

  1. 根据本机使用情况选择抓包的接口
    image

  2. 过滤框中输入:ip.addr == 8.134.49.49,指定查看的ip
    image

  3. 左键点击选定,http请求的某个url,在工具栏“统计”-> "流量图",即可看到单次http中的tcp“三次握手,四次挥手”
    image

  4. 如果只是看请求头/响应头,右键点击某个url,“追踪流”-> "TCP Stream", 不过这其实在浏览器F12也可以看到
    image

  5. 附一些过滤规则:
    指定域名: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协议抓包

  1. 以chrome浏览器为例,先退出chrome程序,然后执行如下的命令,该命令会打开一个chrome界面,在此界面访问网址才能被抓包:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome  --ssl-key-log-file=/tmp/sslkeys.txt
  1. 然后启动Wireshark,在工具栏,Wireshark -> Preferences -> Protocols -> TLS -> 右侧指定(Pre)-Master-Secret log fileanme 指定为/tmp/sslkeys.txt
    image

  2. 在过滤框输入类似:tls.handshake.extensions_server_name == "blog.csdn.net",可以过滤网址

  3. 右键某一个请求的url链接,“追踪流”->"TLS流",就可以看到解密后的内容,如果不做1和2的操作,是无法查看TLS流的,查看TCP流也是加密的内容。

posted @ 2025-09-05 11:30  熊先生不开玩笑  阅读(146)  评论(0)    收藏  举报