跳至内容

Linux系统无桌面环境怎么抓包

发布日期:
作者:
评论数:暂无评论

在没有桌面环境的 Linux 系统上,可以通过命令行工具进行抓包分析。以下是2个常用工具及其使用方法:

1. 使用 tcpdump

tcpdump 是一个功能强大的命令行抓包工具,可以捕获和分析网络数据包。这种方法是最常用的,因为它允许你在资源受限的服务器上抓包。

安装

大多数 Linux 发行版默认安装了 tcpdump,如果没有,可以使用以下命令安装:

sudo apt update  # Debian/Ubuntu
sudo apt install tcpdump

sudo yum update      # CentOS/RHEL
sudo yum install tcpdump

sudo dnf update      # Fedora
sudo dnf install tcpdump

    基本用法

    • 捕获所有接口的流量:
    sudo tcpdump
    • 捕获指定接口的流量(如 eth0):
    sudo tcpdump -i eth0
    • 保存抓包数据到文件:
    sudo tcpdump -i eth0 -w output.pcap
    • 按条件抓取(如过滤端口 80):
    sudo tcpdump -i eth0 port 80
    • 保存抓取指定主机或端口的流量(例如与主机 192.168.1.100 通信的流量):
    sudo tcpdump host 192.168.1.100 -w capture.pcap
    • 设置抓包大小和数量(例如每个文件 100MB,最多保存 5 个文件):
    sudo tcpdump -C 100 -W 5 -w capture.pcap
    • 实时查看数据包的内容(十六进制和 ASCII 格式):
    sudo tcpdump -A -i eth0

    数据分析

    保存为 .pcap 文件后,可以在支持 GUI 的系统上用工具如 Wireshark 分析:


    2. 使用 tshark

    tshark 是 Wireshark 的命令行版本,提供了更强的协议解析功能。

    安装

    sudo apt-get update  # Debian/Ubuntu
    sudo apt-get install tshark
    
    sudo yum update      # CentOS/RHEL
    sudo yum install wireshark-cli
    
    sudo dnf update      # Fedora
    sudo dnf install wireshark-cli

      基本用法

      • 列出所有网络接口:
      tshark -D
      • 捕获eth0接口数据包并显示:
      sudo tshark -i eth0
      • 保存捕获eth0接口的数据包到文件:
      sudo tshark -i eth0 -w capture.pcap
      • 捕获eth0接口80端口的数据:
      sudo tshark -i eth0 -f "port 80"
      • 显示抓包文件的基本信息:
      sudo tshark -r capture.pcap
      • 过滤并显示特定协议的流量:
      1. 显示 HTTP 流量:
      tshark -r capture.pcap -Y "http"
      1. 显示与 IP 地址 192.168.1.100 相关的流量
      tshark -r capture.pcap -Y "ip.addr == 192.168.1.100"

      tshark 的功能非常强大,可以通过 man tshark 命令查看其完整的使用手册。

      总结:

      tcpdump 和 tshark 都是非常优秀的网络抓包工具,选择哪个取决于你的具体需求和使用场景。如果你只是需要简单的抓包,tcpdump 更加高效;如果你需要进行深入的协议分析,tshark 功能更加强大。抓取的数据可以保存为 .pcap 文件,后续在带 GUI 的系统上使用 Wireshark 进一步分析。

      发表回复

      您的邮箱地址不会被公开。 必填项已用 * 标注