tcpdump抓包常用命令列举
情形一、采集指定网络接口和端口的数据包
sudo tcpdump -s 0 -x -n -tttt -i bond0 port 55944 -w /tmp/mysql_tmp.tcp
情形二、采集指定ip(来源或目标)和网络接口的数据包
sudo tcpdump -s 0 -x -n -tttt -i bond0 host 10.15.189.191 -w /tmp/mysql_3.tcp
情形三、采集多个ip(来源或目标)和网络接口的数据包
sudo tcpdump -s 0 -x -n -tttt -i bond0 \(host 192.168.1.10 or host 192.168.1.11\) -w /tmp/mysql_3.tcp
ps:使用()一定要用 \ 转义。
情形四、采集指定协议、网络接口和端口的数据包
sudo tcpdump -s 0 -x -n -tttt tcp -i eth0 port 55944 -w /tmp/mysql_tmp1.tcp
sudo tcpdump -s 0 port 55944 and dst 10.15.72.125 -x -n -tttt -C 256 -w /tmp/tcpdump_$(date +"%Y%m%d-%H%M%S").pcap
tcpdump过滤语句介绍:
过滤表达式大体可以分成三种过滤条件,“类型”、“方向”和“协议”,这三种条件的搭配组合就构成了我们的过滤表达式。
1、关于类型的关键字,主要包括host,net,port。
例如 host 210.45.114.211,指定主机 210.45.114.211,net 210.11.0.0 指明210.11.0.0是一个网络地址,port 21 指明
端口号是21。如果没有指定类型,缺省的类型是host.
2、关于传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。
举例说明,src 210.45.114.211 ,指明ip包中源地址是210.45.114.211, dst net 210.11.0.0 指明目的网络地址是210.11.0.0 。如果没有指明
方向关键字,则缺省是src or dst关键字。
3、关于协议的关键字,主要包括ip,ip6,arp,rarp,tcp,udp等类型。
这几个的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
数据包查看方法:
将tcpdump导出的数据包,通过sz命令导出本机,通过wireshark查看。
sudo tcpdump -s 0 port 55944 -x -n -tttt -C 256 -w /tmp/tcpdump_$(date +"%Y%m%d-%H%M%S").pcap
-s 0 表示不限制包的大小,默认是65535
-n 不做主机名解析
-tttt 输入出时间格式
-C 256 256MB 自动打一个包
-x 输出完整的内容