提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

常用抓包命令详解

|

问题描述

本文介绍tcpdump工具的基本用法

解决方案

1、常用参数介绍(标红的要重点掌握)
-i    指定监听的网络接口;
例如 -i eth0
-e   在输出行打印出数据链路层的头部信息(加上就显示MAC地址);
-c   截取指定数目的数据包;
例如 -c 1000,代表抓1000个包。
-n   不把网络地址转换成名字;
-nn      不把端口和网络地址转换成名称;
-x        将截取的数据包内容以十六进制打印出来;
-X   将截取的数据包内容以ASCII文本形式打印出来;
-s   截取指定大小的数据包,s0表示完整数据包;
需要保存到本地时一定要加上 -s0
-w   将抓包内容保存到指定到文件,并不打印出来;
-a   将网络地址和广播地址转变成名字;
-t    在输出的每一行不打印时间戳;
-v   输出一个稍微详细的信息,如在ip包中包括ttl和服务类型的信息;
-vv    输出详细的报文信息;

2、抓包参数运用案例
不保存到本地的抓包示例:
tcpdump -i eth0 host 10.10.1.1 -nne -c 100
代表抓eth0口抓100个10.10.1.1的数据包,显示出MAC地址

保存到本地的抓包示例:
tcpdump -i eth0 host 10.10.1.1 -s0 -c 10000 -w/tmp/pc.pcap -vv
代表抓eth0口抓10000个10.10.1.1的数据包,保存到/tmp下,-vv能够实时看到已抓包的数量

3、抓包条件介绍
tcpdump利用表达式作为报文的过滤条件,表达式有如下四种类型关键字和逻辑运算符组成:
关于类型的关键字,主要包括host,net,port ,ether 例如host 210.27.48.2,如果没有指定类型,缺省的类型是host
取非运算是 ‘not ’ ‘! ’
与运算是‘and’,‘&&’
或运算 是‘or’ ,‘||‘

4、抓包示例
指定MAC地址抓包:
tcpdump -i eth0 -c 100 ether src 68:A1:B7:22:F7:38 -nne

同时抓多个地址,其中一个方向地址为多个:
tcpdump -i eth4 host 61.185.220.229 and host '(111.20.144.206 or 123.139.155.16 or 114.215.100.5 )' -nn

指定源、目IP地址抓包
tcpdump -i vpntun src 200.200.0.20  and dst 192.200.20.200 -nn

指定源网段抓包
tcpdump -i eth1 src net 10.66.27.0/24 and dst port 80 -c 10 -nn

指定不抓某地址或者端口
按照正常的表达式加一个not就可以了
tcpdump -i eth2 host 1.1.1.1 and not port 22345 -nn -c 1000

抓指定ipv6地址的icmp包
tcpdump -i eth0 icmp6 and host 240e:699:8001:1600::ffff -nn   

带vlan的抓包
tcpdump -i eth1 vlan and host 10.66.27.23  -c 10 -nn

抓取经过AF的pppoe拨号包
tcpdump -i eth1 pppoes and host 10.66.27.23  -c 10 -nn

抓取AF本身的pppoe拨号包(拨号未成功时,AF还未生成ppp口,所以需要直接抓物理口数据)
tcpdump -i  eth1 pppoes -c 100 -nn

tcpdump -i eth1 host e80::fcfc:feff:fe20:4 -nn -s0   
抓取某个ipv6地址数据包

tcpdump -i eth1 icmp6 -nn -s0      
抓取eth1口icmp6的数据包

tcpdump -i eth1 ip6 -nn -s0         
抓取eth1口所有的ipv6数据
fengdin_lyj 发表于 2023-5-5 11:31
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!

我要分享
文档编号: 217891
作者: admin
更新时间: 2023-03-27 17:55
适用版本: