关注漫流沙有干货噢!
Kali
X
Linux
Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
the quieter you become,the more you can hear
1
选择原因
说道抓包神器,我相信很多人第一个想到的就是Wireshark,大鲨鱼的图标可能活越在大家的脑海中,而对于命令行下的抓包神器Tcpdump了解的不是很多。
在类Unix的世界中,非图像化的tcpdump是运维人员和安全人员必须掌握的工具,因为服务器为了避免不必要的意外发生,一般都不会有图形化界面。虽然wireshark也有命令行版本,不过相比于Tcpdump,Tcpdump有更佳方便和简洁的使用方式,如果你不同意我的观点,别着急,往下看...
2
工具简介
在Kali(或者说几乎所有类Unix系统上)默认安装,服务器为了避免图形化占用内存空间并且带来风险,都会使用server版本,也就是无界面的版本,Tcpdump是一个抓包方面的默认工具
大多数人现在接触的都是Linux,对于Unix接触的甚少,掌握这个工具在以后Unix上也可以游刃有余。
3
抓包
Tcpdump 抓包其实非常简单
-i 指定网卡
-s 指定抓取数据包的大小
如果-s 指定的是 0 表示不限制大小,默认为68个字节
-w 指定保存的名称
最基本的用法
tcpdump -i eth0 -s 0 -w data.cap
一般都用 .cap的后缀名文文件,可以直接倒入到wireshark和其他抓包工具中
执行之后就会不停的抓包,知道按下 Ctrl+c 停止
4
分析数据
抓包当然是为了分析在一段时间内的网络情况,是否存在网络阻塞或者网络攻击等
在数据包的分析方面我还真是有很大的欠缺
熟悉Wireshark的兄弟应该都会熟悉数据包的分析,我们生成的数据包直接用Wireshark打开就可以,在命令行下执行
wireshark data.cap
之后就可以在wireshark中进行分析了,不过之前我们说过了,如果没有图形化界面怎么办呢?
tcpdump 也为我们提供了分析方法
tcpdump -r data.cap
这是最基本的用法,
-A 以ASCII形式显示包内容
-X 以16进制的形式显示包里的内容
-n (不做域名解析)只以IP地址的形式显示而不会显示出域
输入完之后你就会发现会显示所有的数据包记录,根本没有办法分析,此时是不是想到了Wireshark中各种过滤器,欲哭无泪?
别方!
tcpdump也为我们提供了过滤功能哦!
5
筛选器
抓包筛选器
tcp 只抓tcp协议的包
port 22 只抓22端口的
tcpdump -i eth0 -s 0 tcp port 22
显示筛选器
src host 192.168.2.2 源IP
dst host 192.168.2.2 目标地址
port 32 端口号
tcpdump -r data.cap src host 10.10.45.162
这里我只介绍了常用的功能,更多的高级功能大家去自行研究吧!
相信经过这篇文章,大家应该已经熟悉Tcpdump这款工具的使用了,喜欢记得转载哦!
赞赏可以扫描下方的二维码哦!
领取专属 10元无门槛券
私享最新 技术干货