每天一个linux命令(tcpdump)

tcpdump----抓包命令

  格式:tcpdump [参数] [ -c 数量 ] [ -F文件名 ] [ –i 网络接口  [ –r 文件名 ] [ –s snaplen] [ –T 类型 ] [ –w 路径/文件名 ] [ 表达式 ]

  主要作用:

1.拦截和显示发送或者受到网络连接到该计算机的TCP/IP和其他数据包

2.

  主要参数:

-a:将网络地址和广播地址转变成名字

-A:以ASCII格式大一每个数据包(减去其链接级别标题),方便捕捉网页

-d:将匹配的信息包的代码以可以理解的汇编格式显示

-dd:将匹配的信息包的代码以C语言程序段的格式显示

-e:在输出行打印出数据链路层的头部信息

-f:将外部的Internet地址以数字的形式打印出来

-l:使标准输出变为缓冲行形式

-n:不把网络地址转换成名字

-t:在输出的每一行不打印时间戳

-v:输出一个稍微详细的信息,例如在IP包中的生存时间,标识,总长度和选项还可以弃用其他数据包完整性查,例如验证IP和ICMP标头效验以及使用 -w写入文件时,每秒报告一次捕获的数据包数

-vv:输出更详细的信息,例如从NFS回复数据包打印其他字段,并完全解码SMB数据包

-c:指定输出N行后停止输出

-F:从指定的文件中读取表达式,忽略其他的表达式

-i:指定监听的网络接口

-r:从文件中读取包(这些包一般是使用 –w 保存的)

-w:将原始数据包写入文件而不是解析并打印出来,常见文件扩展名:pcap、cap、dmp

-T:将监听到的包直接解释为指定类型的报文,常见的有 carp:通用地址冗余协议、lmp:链路管理协议、pgm:实用通用多播、resp:redis序列化协议、rpc:远程过程调用、rtp:实时应用程序协议、rtcp:实时应用程序控制协议、snmp:简单网络管理协议、tftp:普通文件传输协议

  示例:

1.启动并输出详细的数据包

tcpdump –vv

2.过滤主机,抓取经过eth0网口,目的或者源ip是x.x.x.x的网络数据(host源或者目的ip、src源ip、dst目的ip)

tcpdump –i eth0 host x.x.x.x

3.抓取经过eth0网口,目的或者源端口是xx的网络数据(port源或者目的端口、src源端口,dst目的端口)

tcpdump –i eth0 port 8801

4.过滤网络地址,抓出出ip为192.168的网络包(net源或者目的、net src源网络地址、net dst目的网络地址)

tcpdump –i eth0 net 192.168

5.过滤协议(arp、ip、tcp、udp、icmp等)

tcpdump –i eth0 arp

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的切割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

原文地址:https://www.cnblogs.com/hollyhock/p/10263533.html