Linux 抓包工具 tcpdump

发布于 2021-07-17 13:08:35 字数 1104 浏览 1212 评论 0

一、简介

在网络问题的调试中,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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

qq_Yqvrrd

文章 0 评论 0

2503248646

文章 0 评论 0

浮生未歇

文章 0 评论 0

养猫人

文章 0 评论 0

第七度阳光i

文章 0 评论 0

新雨望断虹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文