电脑怎么抓包?手把手教你用Wireshark看懂网络流量

你有没有遇到过网页打不开、游戏连不上服务器、或者公司内网传文件特别慢的情况?光看现象很难判断问题出在哪,这时候如果能“看见”ref="/tag/21/" style="color:#C468A7;font-weight:bold;">电脑和网络之间到底在传什么数据,问题就容易多了——这就是抓

抓包是啥?不是黑客才干的事

抓包,说白了就是让电脑把经过网卡的所有网络数据包原样记录下来,像录像一样存成文件,再用工具打开分析。它不改数据、不拦截通信,只是“旁观”。开发调接口、运维查故障、学生学TCP三次握手,都常靠它。

最常用工具:Wireshark(免费、跨平台)

Windows、macOS、Linux都能装,官网下载地址是 wireshark.org,安装时默认勾选 WinPcap 或 Npcap(这是抓包必需的驱动,别取消)。

装完打开,界面左侧列出所有可用网卡。如果你正在用Wi-Fi上网,就点“WLAN”;如果是插网线,一般叫“以太网”。点一下,Wireshark就开始实时滚动抓包了——满屏飞的英文+IP+端口号,别慌,先过滤。

快速定位自己关心的流量

顶部过滤栏输入这些常用表达式,回车立刻缩小范围:

http          # 只显示HTTP协议的包(比如浏览器请求)
ip.addr == 192.168.1.100   # 只看这个IP收发的数据
tcp.port == 8080          # 只看走8080端口的TCP包
http.request.method == "POST"  # 只看HTTP POST请求

比如你在浏览器访问一个登录页,填完账号密码点了“登录”,立刻在过滤栏输 http,再找 Method 是 POST 的那一行,双击展开,点“HTTP”标签页,就能看到你刚提交的账号密码明文(如果网站没上HTTPS)。

一个小实验:用curl发个请求,同步抓包

打开命令行,执行:

curl -X GET "http://httpbin.org/get?name=小明&age=25"

同时Wireshark里过滤 http,找到对应请求。点开它 → 底部面板切换到“Line-based text data”,就能清楚看到URL参数、User-Agent,甚至服务器返回的JSON响应体。

注意这几点,别踩坑

• 抓HTTPS网站(如 https://baidu.com),只能看到TLS握手和加密后的数据流,看不到具体内容——这是设计如此,不是你没抓对;
• 公司或学校网络可能禁用混杂模式,Wireshark会提示“没有权限”,右键图标以管理员身份重开即可;
• 不要随便在公共Wi-Fi下抓别人设备的包,既不道德也涉嫌违法;
• 抓完点左上角红色方块停止,再点“File → Export Specified Packets”可保存为 .pcap 文件,方便发给同事一起看。

抓包不是玄学,多试两次,盯住源IP、目标IP、协议、状态码这几个关键字段,慢慢你就知道哪个包是DNS查询、哪个是TCP重传、哪个是服务器返回的502错误了。