tcpdump抓linux网络包,使用wireshark分析

TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

Linux作为网络服务器,特别是作为路由器网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。

tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的 FreeBSD系统中,由于它需要将网络接口设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

基本上tcpdump的总的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

常用的命令选项有:

-c:设定抓取的数量

-i:指定监听的网口

-w:将抓取的数据包保存到文件

-s:截取报文的内容,默认截取96字节,-s0表示截取全部

-r:读取数据包内容

-C 10:每10M保存一个包

-G 600:每10分钟保存一个包


过滤的参数规则:

host:指定主机名

net:指定网段

port:指定端口

portrange:指定端口范围


连接运算符

and:所有的条件都满足

or:只要满足一个条件

not:取反,也可以用!

例子:

1、抓取主机172.0.0.1的eth0网口的8080、8081端口传输的数据包并保存文件

tcpdump -i eth0 -s0  port 8080 or port 8081 host 172.0.0.1 -w 1.pcap

2、按 crtl+c 停止抓包,当前目录会生成一个1.pcap文件

3、简单查看数据包内容

tcpdump -r 1..pcap

注:一般对抓取的数据包用Wireshark工具进行分析

附:wireshark下载链接

Wireshark · Go Deep.

猜你喜欢

转载自blog.csdn.net/Lemon_D1999/article/details/127428009