常用命令之------tcpdump
语法:
tcpdump [options] [not] proto dir type
案例
tcpdump -i eth0 host 192.168.1.1 and icmp -n -w /tmp/test1.cap -c 10
意思:抓取eth0 并且是192.168.1.1地址的icmp包,不做主机解析 ,抓包文件保存至/tmp/test.cap ,共抓10个包
常用option
-w:将抓包数据输出到文件中而不是标准输出,输出的格式是.cap 如:-w test.cap。
-c:指定要抓取的包数量。
-i interface:指定抓取接口。
-v:当分析和打印的时候,产生详细的输出。
-n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
tcpdump的表达式由一个或多个"单元"组成,
三种表达式:
1.proto:通过给定协议限定匹配的数据包类型。
常用的协议有tcp/udp/arp/ip/ether/icmp等,若未给定协议类型,则匹配所有可能的类型。
例如:
"tcp port 21","udp portrange 7000-7009"。
除了使用修饰符和ID组成的表达式单元,还有关键字表达式单元:gateway,broadcast,less,greater以及算术表达式。
2.dir:指定ID的方向。
可以给定的值包括src/dst/src or dst/src and dst,默认为src or dst。
例如:
"src foo"表示源主机为foo的数据包,
"dst net 128.3"表示目标网络为128.3的数据包,
"src or dst port 22"表示源或目的端口为22的数据包。
3.type:指定ID的类型。
可以给定的值有host/net/port/portrange,默认的type为host。
例如"host foo","net 128.3","port 20","portrange 6000-6008"。
表达式与表达式之间可以使用操作符" and / && / or / || / not / ! "进行连接,