1.安装系统自带的tcpdump工具
yum install tcpdump -y
2.监视主机的数据包
[root@CentOS179min ~]# tcpdump -i eth0 --监控本机的eth0网卡
[root@centos179min ~]# tcpdump host 192.168.1.250 and \(192.168.1.251 or 192.168.1.252 \) --截获多个IP的数据包
[root@centos179min ~]# tcpdump -i eth0 dst host 192.168.1.179 --监视所有送到主机到本机的数据包
[root@centos179min ~]# tcpdump -i eth0 src host 192.168.1.179 --截获本机发送的所有数据
3.监视主机的端口
[root@centos179min ~]# tcpdump tcp port 22 --监视本机的tcp22端口
[root@centos179min ~]# tcpdump udp port 123 --监视本机的udp123端口
4.详细参数
-c count
tcpdump将在接受到count个数据包后退出.
-e 每行的打印输出中将包括数据包的数据链路层头部信息
-F file
使用file 文件作为过滤条件表达式的输入, 此时命令行上的输入将被忽略.
-i interface
指定tcpdump 需要监听的接口
-r file
从文件file 中读取包数据
-t 在每行输出中不打印时间戳
-tt 不对每行输出的时间进行格式处理(nt: 这种格式一眼可能看不出其含义, 如时间戳打印成1261798315)
-ttt tcpdump 输出时, 每两行打印之间会延迟一个段时间(以毫秒为单位)
-tttt 在每行打印的时间戳之前添加日期的打印
-v 当分析和打印的时候, 产生详细的输出
dst host host 如果IPv4/v6 数据包的目的域是host, 则与此对应的条件表达式为真.host 可以是一个ip地址, 也可以是一个主机名.
src host host 如果IPv4/v6 数据包的源域是host, 则与此对应的条件表达式为真.
host 可以是一个ip地址, 也可以是一个主机名.
Linux系统入门学习:如何使用tcpdump来捕获TCP SYN,ACK和FIN包
Linux运维工程师利器:Nmap和tcpdump