Linux网络抓包与协议排查入门当连通性测试、端口检查和日志分析都无法解释网络问题时抓包通常就是最直接的事实依据。中级阶段不一定要精通所有协议细节但必须知道什么时候该抓、抓哪里、怎么看出最关键的现象。一、抓包的价值在于还原事实抓包不是为了看起来专业而是为了回答三个核心问题包有没有发出去、对端有没有收到、对端有没有回。很多模糊的网络问题一旦抓包范围就会迅速收缩。二、先选对网卡在抓包前先确认流量会走哪张网卡否则你可能抓了半天什么都没有。ip addrip route get 192.168.1.20明确接口后再开始抓包会高效很多。三、最基础的抓包命令常用抓包工具是 tcpdump。最简单的用法如下tcpdump -i eth0这会打印通过 eth0 的数据包。实际排障中通常不建议全量抓而应加过滤条件。四、按主机或端口过滤为了减少噪声可以只抓目标主机或指定端口的数据。tcpdump -i eth0 host 192.168.1.20tcpdump -i eth0 port 443如果问题已经聚焦到某个服务端口这类过滤通常足够高效。五、抓握手过程最常见TCP 问题中最常看的就是三次握手有没有完成。例如客户端发 SYN服务端回 SYN,ACK客户端再回 ACK。若缺其中一步就说明问题出在某个环节。可以这样抓tcpdump -i eth0 tcp port 443然后重点看 SYN、ACK 是否成对出现。六、DNS 问题也很适合抓包有时应用报错像是网络不通实际是域名解析异常。DNS 抓包能快速判断本机是否发出查询、上游是否有响应。tcpdump -i eth0 udp port 53这对“能 ping IP 但访问域名失败”的场景尤其有帮助。七、保存到文件便于后看如果现场复杂建议把抓包内容保存下来而不是只看屏幕滚动。tcpdump -i eth0 port 443 -w /tmp/443.pcap这样后续可以再分析也方便交给其他同事复核。八、抓包时要控制范围和时长生产环境流量很大时盲目长时间抓包容易生成巨大文件还可能增加排障负担。中级习惯应是限定接口、限定主机、限定端口、限定时长。九、抓到包不代表问题解决抓包只是证据来源不是结论本身。你仍然需要结合路由、防火墙、服务监听和应用日志解释包的行为。抓包最有价值的地方是帮你判断问题在哪一层而不是直接给出答案。十、从“会抓”走向“会问问题”真正成熟的抓包能力不是背多少过滤表达式而是先明确自己想验证什么再据此设计抓包范围。只要问题问得对抓包结果通常会非常清晰。Linux 网络抓包与协议排查的核心在于用最小范围的流量证据验证最关键的网络假设。只要抓包思路清晰大多数网络疑难问题都会更容易解释。
Linux网络抓包与协议排查入门
Linux网络抓包与协议排查入门当连通性测试、端口检查和日志分析都无法解释网络问题时抓包通常就是最直接的事实依据。中级阶段不一定要精通所有协议细节但必须知道什么时候该抓、抓哪里、怎么看出最关键的现象。一、抓包的价值在于还原事实抓包不是为了看起来专业而是为了回答三个核心问题包有没有发出去、对端有没有收到、对端有没有回。很多模糊的网络问题一旦抓包范围就会迅速收缩。二、先选对网卡在抓包前先确认流量会走哪张网卡否则你可能抓了半天什么都没有。ip addrip route get 192.168.1.20明确接口后再开始抓包会高效很多。三、最基础的抓包命令常用抓包工具是 tcpdump。最简单的用法如下tcpdump -i eth0这会打印通过 eth0 的数据包。实际排障中通常不建议全量抓而应加过滤条件。四、按主机或端口过滤为了减少噪声可以只抓目标主机或指定端口的数据。tcpdump -i eth0 host 192.168.1.20tcpdump -i eth0 port 443如果问题已经聚焦到某个服务端口这类过滤通常足够高效。五、抓握手过程最常见TCP 问题中最常看的就是三次握手有没有完成。例如客户端发 SYN服务端回 SYN,ACK客户端再回 ACK。若缺其中一步就说明问题出在某个环节。可以这样抓tcpdump -i eth0 tcp port 443然后重点看 SYN、ACK 是否成对出现。六、DNS 问题也很适合抓包有时应用报错像是网络不通实际是域名解析异常。DNS 抓包能快速判断本机是否发出查询、上游是否有响应。tcpdump -i eth0 udp port 53这对“能 ping IP 但访问域名失败”的场景尤其有帮助。七、保存到文件便于后看如果现场复杂建议把抓包内容保存下来而不是只看屏幕滚动。tcpdump -i eth0 port 443 -w /tmp/443.pcap这样后续可以再分析也方便交给其他同事复核。八、抓包时要控制范围和时长生产环境流量很大时盲目长时间抓包容易生成巨大文件还可能增加排障负担。中级习惯应是限定接口、限定主机、限定端口、限定时长。九、抓到包不代表问题解决抓包只是证据来源不是结论本身。你仍然需要结合路由、防火墙、服务监听和应用日志解释包的行为。抓包最有价值的地方是帮你判断问题在哪一层而不是直接给出答案。十、从“会抓”走向“会问问题”真正成熟的抓包能力不是背多少过滤表达式而是先明确自己想验证什么再据此设计抓包范围。只要问题问得对抓包结果通常会非常清晰。Linux 网络抓包与协议排查的核心在于用最小范围的流量证据验证最关键的网络假设。只要抓包思路清晰大多数网络疑难问题都会更容易解释。