centos 使用tcpdump抓包

  tcpdump -i bond0 -C 500 -w ./142_1710.cap

  tcpdump -nnvv -i eth0 host 192.168.1.100 -c 100 (抓对端的包,测试B到A的数据是否到达,应该在A端执行命令,host_ip是B的ip:192.168.1.100)

  /sbin/tcpdump -i bond0 -nnvv  '(tcp port 22) and host 192.168.1.100 and (192.168.2.2 or 192.168.2.3 or 192.168.2.4)' -G 3600 -w `hostname -i`_%Y%m%d_%H%M%S.pcap

-i    指定 网卡

-w  保存到指定文件

-C     file-size (nt: 此选项用于配合-w file 选项使用)

-c  n  后面跟一个整数n,代表个数,收到n个包之后,就停止进行倾倒操作。

  该选项使得tcpdump 在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-size. 
如果超过了, 将关闭此文件,另创一个文件继续用于原始数据包的记录. 新创建的文件名与-w 选项指定的文件名一致, 但文件名后多了一个数字.
该数字会从1开始随着新创建文件的增多而增加.
file-size的单位是百万字节(nt: 这里指1,000,000个字节,并非1,048,576个字节, 后者是以1024字节为1k, 1024k字节为1M计算所得, 即1M=1024 * 1024 = 1,048,576)

-n   不解析主机名,抓到的包里面直接是ip地址

-v   显示详细结果

-G  每隔多少秒轮询另外一个文件(比如我举得例子是3600 ,也就是每隔3600s,就自动分割保存到另外一个文件中),必须结合 -w参数使用,而且-w后面跟的文件名,一定要用时间戳,如果指定固定的文件名,每隔3600s,就会覆盖你指定的文件内容

and 多个过滤条件,多个条件最好是用单引号引用起来,括号的优先级较高

or    或者的关系

host 抓取指定ip的包

tcp 指定抓取的协议,如果需要指定端口,后跟port + 端口号

我举得例子的意思是抓取 主机192.168.1.100通过tcp 22端口和 192.168.2.2/3/4 任意一台的包,此处没有指定src dst,只要是通过 192.168.1.100 tcp 22端口的这三个主机的包都会抓到,如果指定源目的主机,就会限制方向

 




参考文档
https://www.cnblogs.com/ct20150811/p/9431976.html
posted @ 2020-04-08 16:12  augusite  阅读(784)  评论(0编辑  收藏  举报