tcpdump(三)命令行参数讲解(二)

一   tcpdump实战详解

强调: 注意区分'选项参数'和'过滤条件'

本文继上篇    网卡没有开启混杂模式   tcpdump默认开启混杂模式

tcpdump(三)命令行参数讲解(二)_第1张图片

①  -vv  控制详细内容的输出

②  -s

-s 长度: 可以只抓取'每个报文'的'一定'长度

常用:-s 74  --> 'tcp'

细节: 不同'tcpdump'默认抓取的长度不一样

补充: -s0  截取所有,防止'包截断'

tcpdump(三)命令行参数讲解(二)_第2张图片

备注:一个包由'若干个字节'组成,默认只抓取'部分'字节

-s len:设置tcpdump的数据包抓取'长度'为len
 
  1、如果不设置默认将会是'262144'字节

  2、对于要抓取的数据包'较大'时,长度设置不够可能会产生'包截断'

  3、若出现包截断,'输出行'中会出现"[|proto]"的标志(proto实际会显示为协议名)

  4、但是抓取len越长,包的'处理时间'越长,并且会减少tcpdump可缓存的数据包的数量

  5、从而会导致数据包的丢失,所以在能抓取我们'想要的包'的'前提'下,抓取长度'越小越好'

-s参数具体解读

tcpdump(三)命令行参数讲解(二)_第3张图片

③  -w 小写

格式: -w /tmp/test.cap  生产环境'注意'抓包'保存'的目录权限

常用: 抓包并写入'临时文件'以便下载分析  -s0 -w /tmp/$(date +'%T %F').cap

作用: 把报文'保存'到文件中,'不在'终端分析和打印

说明: '读取'后,我们'照样可以'使用'上述的过滤器语法'进行'过滤'分析

tcpdump(三)命令行参数讲解(二)_第4张图片

④  -c 小写

作用: 抓取'指定数量'的报文后'自动结束'抓包过程

目的: 避免'长时间'抓包把系统抓'崩溃了'(考虑系统负载),够'分析'使用即可

⑤  -C 、-W 大写

场景: 把'报文'按照指定的'大小'保存到文件中,同时限制保存文件的'个数'

案例讲解: '-C、-W、-w' 三者配合

tcpdump(三)命令行参数讲解(二)_第5张图片

⑥  -Q、-I  了解

⑦  -e、-p

⑧  -X 大写  显示数据包的头部

以'16进制'和 'ASCII码 [报文解析]' 形式打印出每个包的数据(但'不包括连接层'的头部)

场景: 这在分析一些'新协议的数据包'很方便,尤其想看'应用层'的数据

tcpdump(三)命令行参数讲解(二)_第6张图片

tcpdump(三)命令行参数讲解(二)_第7张图片

⑨  -r 读取抓包文件

读取'抓包文件'并在'命令行界面'输出结果 

tcpdump -nn -vv -r /tmp/test.cap | less

⑩  -t  控制时间的显示

-t:   在每行的输出中'不输出'时间

-tt:  在每行的输出中会'输出'时间戳

-ttt: 输出'每两行'打印的时间间隔(以'毫秒'为单位)

-tttt:在每行打印的时间戳'之前'添加日期的打印 --> 此种选项,输出的时间'最直观'

⑪  补充

-F: 使用 'file 文件'作为'过滤条件表达式'的输入,此时命令行上的输入将被'忽略'

-S : 使用'绝对'序列号,而不是'默认的相对序列号'

-D : 显示所有'可用网络接口'的列表

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

-A : 以可读的'ASCII'码形式打印    --> '常用'

你可能感兴趣的:(TCP/IP,tcpdump,网络)