抓取数据包保存到文件时,通过该命令指定文件的大小。文件达到指定大小后,会创建一个在原文件名称后面加上序号的新文件,如:dump.txt,dump.txt1。file_size的单位是b
-D
列出服务器所有网卡。tcpdump默认监听的是编号最小的那个网卡,一般是eth0。在进行抓包时可以通过 -i 参数指定监听的网卡,any表示监听所有网卡
-i interface
指定监听的网卡名称,any表示监听所有的网卡
-n
输出结果中,不把ip转换成主机名(默认显示的是主机名)
-q
快速输出,只输出简要的数据包信息
-r file
从文件中获取数据包,不再从网络获取数据包
-t
不输出时间戳
-w file
将抓取的数据包保存到文件,-r 参数可以从文件中读取数据包
-W filecount
指定文件的数量,当文件滚动到指定数量后会从第一个文件开始覆盖
除了以上参数,还有一些关键字可以用来进行条件过滤,常用关键字如下
-host
过滤主机,如 tcpdump host 192.168.1.110 只抓取经过这个ip的数据包
-src
_用来过滤请求来源方的参数,如:tcpdump src host 192.168.1.110 只_抓取从这个ip过来的数据包
-dst
_用来过滤请求接收方的参数,如:tcpdump dst host 192.168.1.110 只_抓取发送到这个ip的数据包
-port
_过滤端口,如:tcpdump port 8080 只_抓取经过8080端口的数据包
-net
_过滤网络,如:tcpdump net 192.168 只_抓取经过这个网段的数据包
-and、not、or
条件过滤,和字面意思一样。如:tcpdump net 192.168 and port 8080 抓取经过192.168网段并经过8080端口的数据包
数据包分析
抓取的数据包格式如下
20:17:43.496528
时间戳,时:分:秒.微秒
IP
网际网络协议的名称
180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http
请求发送方的ip和端口 > 请求接收方的ip和端口。端口有时会显示为某个网络协议,如http、ssh、mysql等
Flags [R]
flag标识和状态,可选的状态有:[S.] [.] [P.] [F.][R]
seq、ack、fin
表示tcp协议的3次握手和4次挥手的过程。seq表示请求的序列号,ack是回答的序列号,fin表示完成。这里显示的序列号是相对值,-S参数可以显示绝对值
win
表示当前窗口的可用大小
length
表示报文体的长度,从长度可以简单分析是否正确接收了请求
通过以上结果只能做简单的分析,可以使用-w参数把数据包写入文件,文件中记录的数据包比命令行要详细的多。借助分析工具可以对文件进一步分析,这里推荐使用Wireshark,这个工具是开源的,开箱即用使用简单,这里不做详细介绍了
常用的命令组合
抓取8080端口的数据包
tcpdump -i any port 8080
抓取从192.168.1.110发送到192.168.1.111的数据包
tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111
抓取192.168网段除了192.168.1.110的请求的数据包
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!