您当前的位置:首页 > 计算机 > 系统应用 > Linux

Linux 抓包工具 tcpdump

时间:12-14来源:作者:点击数:
CDSY,CDSY.XYZ

一、简介

在网络问题的调试中,tcpdump 应该说是一个必不可少的工具,和大部分 linux 下优秀工具一样,它的特点就是简单而强大。

它是基于 Unix 系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。

默认情况下,tcpdump 不会抓取本机内部通讯的报文。

根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本机的网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由选择。

如果要使用 tcpdump 抓取其他主机 MAC 地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给它或者是它发出的。一般而言,Unix 不会让普通用户设置混杂模式,因为这样可以看到别人的信息,比如telnet的用户名和密码,这样会引起一些安全上的问题,所以只有root用户可以开启混杂模式,开启混杂模式的命令是:

ifconfig en0 promisc // en0 是你要打开混杂模式的网卡。

二、命令

1、直接启动tcpdump,将抓取所有经过第一个网络接口上的数据包

tcpdump

2、抓取所有经过指定网络接口上的数据包

tcpdump -i eth0    //eth0指定网络接口

3、抓取所有经过 en0,目的或源地址是 10.37.63.255 的网络数据

tcpdump -i eth0 host 10.37.63.255

4、抓取主机10.37.63.255和主机10.37.63.61或10.37.63.95的通信

tcpdump -i eth0 host 10.37.63.255 and (10.37.63.61 or 10.37.63.95)

5、抓取主机192.168.13.210除了和主机10.37.63.61之外所有主机通信的数据包

tcpdump -i eth0 host 192.168.13.210 and ! 10.37.63.61

6、保存成文件

tcpdump -i eth0 host 10.37.63.255 -w dump.pcap
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐