Tcpdump使用方法-抓取原始流量包

发布时间 2023-11-09 09:43:42作者: 取到小饼干

TCPdump工具的使用方法

tcpdump简介

tcpdump是一个用于网络数据包捕获和分析的常用命令行工具。它在各种Unix和Linux操作系统上可用,用于监视和分析网络通信,以便进行故障排除、网络性能分析和安全审计。
tcpdump支持众多的命令行选项和过滤表达式,允许用户以不同方式捕获和分析网络数据包。用户可以根据自己的需求创建适当的命令来监视网络流量,进行故障排除或进行网络安全审计。需要注意的是,使用 `tcpdump` 需要具有足够的权限来访问网络接口。

tcpdump基本用法和一些常用参数

  1. 捕获某个网口的所有数据包(不设置该参数时默认为eth0,还得看自己网口的名称,如何查看自己的网口信息,请参考我的下一篇文章):

    tcpdump -i eth0
    

  2. 捕获与特定主机相关的数据包,如果要指定不抓取某个主机的数据包,只需要在host后面添加一个not

    tcpdump -i eth0 host 192.168.1.100
    

    这将仅捕获与主机IP地址为 192.168.1.100 有关的数据包。

    tcpdump -i eth0 host not 192.168.1.100
    

    这将仅捕获与主机IP地址 192.168.1.100 不相关的数据包。

  3. 捕获指定端口的数据包:

    tcpdump -i eth0 port 80
    

    这将捕获目标或源端口为80的数据包,通常是HTTP流量。

  4. 保存捕获数据包到文件:

    tcpdump -i eth0 -w capture.pcap
    

    这将捕获的数据包保存到名为 capture.pcap 的文件中,以便以后分析。

  5. 显示数据包内容以ASCII文本格式:

    tcpdump -i eth0 -A
    

    这将以可读的ASCII文本格式显示捕获的数据包内容。

  6. 指定源IP与目的端口,同样也可以指定源端口与目的IP:

    tcpdump -i eth0 'src host 192.168.1.100 and dst port 22'
    

    这将捕获从IP地址 192.168.1.100 发出并目标端口为22的数据包,通常是SSH流量,其中的src(source,从自己出发的)指的是源,dst(destination,发出去的)指的是目的。

  7. 捕获指定数量的数据包后停止:

    tcpdump -i eth0 -c 50
    

    这将捕获50个数据包后停止捕获。

  8. 仅捕获小于指定大小的数据包,less捕获小于目标值的数据包,greater用于捕获大于目标值的数据包:

    tcpdump -i eth0 less 100
    

    这将仅捕获小于100字节大小的数据包。

  9. 指定协议抓取数据包,如TCP、UDP、ICMP等:

    tcpdump -i eth0 tcp
    

    这将仅捕获所有tcp协议的数据包。