Tcpdump抓包命令详解

Linux命令相关 同时被 2 个专栏收录
6 篇文章 0 订阅
10 篇文章 0 订阅

一、采用命令行方式对接口的数据包进行筛选抓取。

         不带任何选项的tcpdump ,默认抓取第一个网络接口。只有将tcpdump进程终止,抓包停止。

二、选项

tcpdump的选项与含义
-c指定抓取包的数量,即最后显示的数量
-i

指定tcpdump监听的端口。未指定,选择系统中最小的以配置端口。

-i any:监听所有网络端口 -i lo:监听lookback接口。

-nn对监听地址以数字方式呈现,且对端口也以数字方式呈现。如果不指定 ,地址以主机名方式呈现,端口以服务名方式呈现
-P指定要抓取的包是流入还是流出 (in out inout[默认])
-s 设置tcpdump的数据包抓取长度,默认为65535字节。
-e输出的每行都包含数据链路层的头部信息。
-D列出所有可以用于抓包的表达式。
-X显示协议头和包的全部内容。
-F从文件中读取抓包的表达式。

三、例子

(1)tcpdump -i eth0 host 192.168.1.1 【过滤主机】

         注:抓取所有经过网卡1,目的ip为192.168.1.1

(2)tcpdump -i  eth0 dst port 22 【过滤端口】

       注:抓取所有经过网卡1,目的端口为22的网络数据

(3)tcpdump -i eth0 udp 【过滤协议】

       注;抓取所有经过网卡1,协议为UDP的协议。

(4)tcpdupmp -i lo udp 【抓取本地环路数据包】

(5)特定协议特定端口

           tcpdump udp port 22

(6)抓取特定类型的数据包

           tcpdump -i eth0 'tcp[tcpflags] = tcp-syn' (抓取所有经过网卡1的SYN类型的数据包)

          tcpdump -i eth0 udp dst port 53(抓取经过网卡1的所有DNS数据包)

(7)逻辑语句过滤

          tcpdump -i eth0 '((tcp) and ((dst net 192.168.0) and (not dst host 192.168.0.2)))'

         注:抓取所有经过网卡1,目的网络是192.168.0,但目的主机不是192.168.0.2的TCP数据。   

(8)抓包存取

       tcpdump -i eth0 host 192.168.1.51 and port 22 -w /tmp/tcpdump.cap

       注:抓取所有经过网卡1,目的主机为192.168.1.51的网络数据并存储。       

 

 

  • 3
    点赞
  • 0
    评论
  • 39
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:创作都市 设计师:CSDN官方博客 返回首页

打赏作者

小楚同学呀~

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值