类Unix 抓包神器 Tcpdump

关注漫流沙有干货噢!

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这款工具的使用了,喜欢记得转载哦!

赞赏可以扫描下方的二维码哦!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171215G0Z8R900?refer=cp_1026

相关快讯

扫码关注云+社区