Linux 下使用tcpdump进行网络分析原

简介

tcpdump 是一个命令行数据包分析器,可实时捕获和检查网络流量。它通常用于网络故障排除、性能分析和安全监控。

安装

  • Debian/Ubuntu

    sudo apt update && sudo apt install tcpdump -y

  • CentOS/RHEL

    sudo yum install tcpdump -y

  • macOS

    brew install tcpdump

基础语法

复制代码
tcpdump [options] [filter]

示例用法

在默认接口上捕获数据包

实时捕获并显示网络数据包。

复制代码
sudo tcpdump
列出可用网络接口
复制代码
sudo tcpdump -D

输出示例

复制代码
1. eth0
2. wlan0
3. lo

可以使用此列表中的接口名称来捕获特定接口上的数据包。

在特定接口上捕获数据包
复制代码
sudo tcpdump -i eth0
限制捕获的数据包数量

仅捕获 10 个数据包然后停止

复制代码
sudo tcpdump -c 10 -i eth0
将捕获的数据包保存到文件
复制代码
sudo tcpdump -i eth0 -w capture.pcap
从文件读取数据包
复制代码
sudo tcpdump -r capture.pcap
仅捕获特定协议
  • 仅 TCP 数据包

    sudo tcpdump -i eth0 tcp

  • 仅 UDP 数据包

    sudo tcpdump -i eth0 udp

  • 仅 ICMP(ping)数据包

    sudo tcpdump -i eth0 icmp

捕获特定主机的数据包

捕获来自/到 192.168.1.1 的流量

复制代码
sudo tcpdump -i eth0 host 192.168.1.1
捕获特定端口上的数据包
  • 捕获 HTTP 流量(端口 80)

    sudo tcpdump -i eth0 port 80

  • 捕获 SSH 流量(端口 22)

    sudo tcpdump -i eth0 port 22

从特定源或目标捕获数据包
  • 仅捕获来自源 192.168.1.100 的数据包

    sudo tcpdump -i eth0 src 192.168.1.100

  • 仅捕获目的地址为 192.168.1.100 的数据包

    sudo tcpdump -i eth0 dst 192.168.1.100

组合多个过滤器

在端口 443 (HTTPS) 上捕获往返于 192.168.1.100 的 TCP 流量

复制代码
sudo tcpdump -i eth0 tcp and host 192.168.1.100 and port 443
以十六进制和 ASCII 格式显示数据包
复制代码
sudo tcpdump -X -i eth0
无需解析主机名即可捕获数据包

-n 选项可防止 DNS 查找,从而提高性能

复制代码
sudo tcpdump -n -i eth0
仅捕获数据包头(无有效负载)

-s 0 标志捕获完整的数据包而不是截断

复制代码
sudo tcpdump -s 0 -i eth0
仅捕获 HTTP 流量并显示内容

-A 选项以 ASCII 格式打印数据包内容

复制代码
sudo tcpdump -A -i eth0 port 80
相关推荐
吹什么轩2 小时前
linux系统复习:僵尸进程与孤儿进程
linux·运维·php
小天源2 小时前
让访问数据可解释:IP 地球大屏、地区库更新与运行维护设计
网络·网络协议·tcp/ip
殷忆枫2 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
第404号工位3 小时前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
老李IT笔记3 小时前
连不上不一定是网不好:新系统不认的服务端配置卡在哪一档
运维·服务器·网络
字节跳动开源3 小时前
ByteDance 2026 上半年 Linux 内核贡献回顾
linux·开源
小此方3 小时前
Linux网络(二十八):从NAT转换到正反向代理:图解内网通信、NAPT端口映射
linux·运维·网络
刚入门的大一新生3 小时前
Linux-进程池
linux·运维·服务器
隐擎fox4 小时前
深入 Android 移动端风控与协议层对抗:内核级虚拟环境检测、网络堆栈特征伪装与住宅 IP 协同实战
android·网络·python·网络协议·tcp/ip
鱼很腾apoc4 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c