tcpdump抓包命令详解

目录

基本命令格式:

 常用选项:

过滤表达式:

 示例:


tcpdump 是一款在 Unix 和类 Unix 系统上广泛使用的网络分析工具,它能够捕获网络接口上传输的数据包,并提供多种选项来过滤和展现这些数据包的详细信息。这里是 tcpdump 的一些基本用法和选项的详解.

基本命令格式:

tcpdump [options] [filter-expression]

 常用选项:

  • -i : 指定要监听的网卡接口。如果不指定,tcpdump 通常会选择一个默认的接口。
  • -n: 不解析主机名(即不进行 DNS 反向解析),直接显示 IP 地址。
  • -nn: 不解析主机名和端口名。
  • -X: 以十六进制和 ASCII 显示数据包的内容。对于调试或分析非常有用。
  • -XX: 与 -X 类似,但还会显示以太网头。
  • -v-vv-vvv: 增加输出的详细程度。
  • -c : 捕获指定数量的数据包后停止。
  • -s : 设置捕获数据包的长度。默认情况下,tcpdump 只捕获每个数据包的前 68 字节。设置 -s0 可以捕获整个数据包。
  • -w : 将捕获的数据包写入文件而不是直接显示在屏幕上。
  • -r : 读取并显示之前用 -w 选项保存的数据包文件。

过滤表达式:

过滤表达式用于定义捕获数据包时使用的规则,例如根据协议、端口、主机地址等来过滤。一些常用的表达式如下:

  • host : 只捕获所有发送到或从指定主机传出的 IP 数据包。
  • src : 只捕获从指定源主机传出的数据包。
  • dst : 只捕获发送到指定目的主机的数据包。
  • port : 只捕获指定端口的数据包。
  • src port : 只捕获指定源端口的数据包。
  • dst port : 只捕获指定目的端口的数据包。
  • net : 只捕获特定网络上的数据包。
  • proto : 只捕获指定协议的数据包,如 icmpudptcp 等。

 示例:

tcpdump -i eth0 -nn -X -vv tcp port 443 and ip host 192.168.1.1
    #捕获所有经过eth0网卡,源或目的端口443,源或目的IP为192.168.1.1的数据包
    
tcpdump -i eth0 tcp
    #捕获所有经过 eth0 接口的 TCP 数据包

tcpdump -n host 192.168.1.1
    #捕获所有到达或离开主机 192.168.1.1 的数据包,且不进行主机名解析

tcpdump port 80 -w capture_file.pcap
    #捕获所有目标或源端口为 80 的数据包,并将其保存到文件中:

tcpdump -r capture_file.pcap
    #读取并显示保存的数据包文件内容:

tcpdump net 192.168.1.0/24 -vv
    #捕获指定网络上的所有数据包,并显示更多的协议信息:

tcpdump -i eth0 -X 'host 192.168.1.1 and port 22'
    #实时查看经过 eth0 端口,来源或目的为 192.168.1.1 端口 22 的数据包内容:

你可能感兴趣的:(Linux系统基础,tcpdump,网络,服务器,linux,运维)