tcpdump调试

在Ubuntu上查看eth网卡报文进行调试,最简单的方法是使用 tcpdump。以下是具体步骤:

1. 安装 tcpdump

bash 复制代码
sudo apt update
sudo apt install tcpdump

2. 基本使用命令

查看所有网络接口

bash 复制代码
tcpdump -D

捕获eth0接口的所有流量

bash 复制代码
sudo tcpdump -i eth0

捕获特定数量的数据包

bash 复制代码
sudo tcpdump -i eth0 -c 10  # 只捕获10个包

详细输出

bash 复制代码
sudo tcpdump -i eth0 -v      # 详细信息
sudo tcpdump -i eth0 -vv     # 更详细信息
sudo tcpdump -i eth0 -vvv    # 最详细信息

3. 常用过滤选项

按IP地址过滤

bash 复制代码
sudo tcpdump -i eth0 host 192.168.1.100        # 特定主机
sudo tcpdump -i eth0 src 192.168.1.100         # 源地址
sudo tcpdump -i eth0 dst 192.168.1.100         # 目的地址

按端口过滤

bash 复制代码
sudo tcpdump -i eth0 port 80                   # HTTP流量
sudo tcpdump -i eth0 port 443                  # HTTPS流量
sudo tcpdump -i eth0 port 22                   # SSH流量

按协议过滤

bash 复制代码
sudo tcpdump -i eth0 icmp                      # 只显示ICMP(ping)包
sudo tcpdump -i eth0 arp                       # 只显示ARP包
sudo tcpdump -i eth0 tcp                       # 只显示TCP包

4. 保存和读取捕获文件

保存到文件

bash 复制代码
sudo tcpdump -i eth0 -w capture.pcap

读取保存的文件

bash 复制代码
tcpdump -r capture.pcap

5. 实时监控特定流量示例

bash 复制代码
# 监控HTTP流量并显示ASCII内容
sudo tcpdump -i eth0 -A port 80

# 监控特定子网的流量
sudo tcpdump -i eth0 net 192.168.1.0/24

# 组合条件:监控来自特定IP的HTTP流量
sudo tcpdump -i eth0 src 192.168.1.100 and port 80

6. 替代方案:使用 wireshark/tshark

如果想用图形界面或更强大的分析工具:

bash 复制代码
# 安装wireshark
sudo apt install wireshark

# 命令行版本的wireshark
sudo apt install tshark

# 使用tshark
sudo tshark -i eth0

提示:

  • 使用 Ctrl+C 停止捕获
  • 如果没有 eth0,可以用 ip link show 查看实际的接口名
  • 对于无线网络,接口名通常是 wlan0

这就是最简单实用的网络报文调试方法!

相关推荐
科技智驱21 分钟前
误分区数据恢复:3种方法,按需选择更高效
网络·电脑·数据恢复
云边云科技5343 小时前
云边云科技SD-WAN解决方案 — 构建安全、高效、智能的云网基石
网络·科技·安全·架构·it·sdwan
慧慧吖@3 小时前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
在路上看风景3 小时前
5.2 自治系统内部的路由选择
网络
莫小墨4 小时前
基于TCP/IP和UDP组播的Qt网络直播间项目
网络·qt·tcp/ip·udp
Code Warrior4 小时前
【Linux】Socket 编程预备知识
linux·网络·c++
jenchoi4135 小时前
【2025-11-12】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm
安冬的码畜日常6 小时前
【JUnit实战3_33】第二十章:用 JUnit 5 进行测试驱动开发(TDD)(下)——TDD 项目的重构过程及新功能的开发实战
测试工具·junit·单元测试·测试驱动开发·tdd·junit5·test-driven
xxtzaaa6 小时前
游戏被IP限制多开,如何在同一网络下用不同IP多开游戏?
网络·tcp/ip·游戏