tcpdump 抓包工具详细图文教程(上)

这篇具有很好参考价值的文章主要介绍了tcpdump 抓包工具详细图文教程(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、tcpdump 抓包工具的基本介绍和学习基础

1.1 常用的抓包工具

1.2 tcpdump 抓包工具介绍

二、tcpdump 抓包工具使用环境和初体验 

2.1 编译安装 tcpdump

2.2 抓包

三、讲解 TCP 协议报文报头

四、tcpdump 抓包工具常规过滤规则 

4.1 tcpdump 的 host 和 net 过滤规则

4.2 tcpdump 基于端口的过滤规则 

4.3 tcpdump 基于协议过滤的规则


一、tcpdump 抓包工具的基本介绍和学习基础

1.1 常用的抓包工具

        作为运维、测试工程师,抓包工具不仅仅是工作中必须要用到的工具,而且是面试过程中也必然会问到的一类工具。

tcpdump 抓包工具详细图文教程(上)

1.2 tcpdump 抓包工具介绍

        TCPdump,全称 dump the traffic on a network,是一个运行在 linux 平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具。

tcpdump 可以支持的功能:

  1. 在Linux平台将网络中传输的数据包全部捕获过来进行分析;
  2. 支持网络层、传输层协议等协议捕获过滤;
  3. 数据发送和接收的主机、网卡和端口等各种过滤捕获数据规则;
  4. 提供 and、or、not 等语句进行逻辑组合捕获数据包或去掉不用的信息;
  5. 结合 wireshark 工具分析捕获的报文。

要灵活使用 tcpdump 工具必须要有两个必备的知识基础:

  • Linux 操作系统: 因为这是一款基于 Linux 系统下命令行的抓包工具,所以需要对 Linux 的基本操作和常用命令有一定的基础;
  • 网络知识: 因为 tcpdump 是将网络中传送的数据包完整的截获下来然后进行分析,所以想要分析捕获到的报文,需要了解 OSI 七层网络模型,以及常用网络协议等。

二、tcpdump 抓包工具使用环境和初体验 

tcpdump 下载官方网站:Home | TCPDUMP & LIBPCAP

        大家如果要练习这个工具的使用,可以自己安装一个 Linux 虚拟机,或者自己购买一个 Linux 的云服务器。我这里给大家演示的是 Linux 虚拟机,CentOS 7 的系统。但是基本上所有发行版的Linux 使用这个工具都是差不多的。

2.1 编译安装 tcpdump

[root@mysql01 ~]# tar -zxvf tcpdump-4.99.4.tar.gz
[root@mysql01 ~]# tar -zxvf libpcap-1.10.4.tar.gz 
[root@mysql01 ~]# cd libpcap-1.10.4/
[root@mysql01 ~/libpcap-1.10.4]# ./configure 
[root@mysql01 ~/libpcap-1.10.4]# make && make install
[root@mysql01 ~/libpcap-1.10.4]# cd ../tcpdump-4.99.4/
[root@mysql01 ~/tcpdump-4.99.4]# ./configure 
[root@mysql01 ~/tcpdump-4.99.4]# make && make install

2.2 抓包

Ctrl+C 中断抓包

        默认输入tcpdump(tcpdump -i any)这个命令,回车操作之后,它将监视第一个网络接口上所有流过的数据包,一般是 eth0,如下图所示:

12:26:14.871117 IP mysql01.ssh > 192.168.170.1.62763: Flags [P.], seq 3365399120:3365399316, ack 384892789, win 261, length 196

tcpdump 抓包工具详细图文教程(上)

从上面的输出来看,可以总结出:

  • 第一列:时分秒毫秒 12:26:14.871117
  • 第二列:网络协议 IP
  • 第三列:发送方的 ip 地址+端口号,(如 192.168.170.1.62763)其中 192.168.170.1 是 ip,而62763 是端口号;(如 mysql01.ssh)mysql01 是主机, ssh 是协议 22 端口
  • 第四列:箭头 >,表示数据流向
  • 第五列:接收方的 ip 地址+端口号,其中 192.168.170.1 是 ip,而 62763 是端口号
  • 第六列:数据包内容,包括 Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1,更多标识符大家需要了解 TCP 协议的标志位。 

三、讲解 TCP 协议报文报头

        TCP(Transmission Control Protocol)传输控制协议,顾名思义,就是要对数据的传输进行一定的控制。

tcpdump 抓包工具详细图文教程(上)

四、tcpdump 抓包工具常规过滤规则 

4.1 tcpdump 的 host 和 net 过滤规则

基于 IP 地址进行过滤:host

案例 1:截获特定主机 192.168.170.134 的主机收到的和发出的所有的数据包

tcpdump host 192.168.170.134

解释:host 192.168.170.134,指明 192.168.170.134 是一台主机,如果你非常明确关心的是哪个主机的收发报文,那么就可以直接过滤这个主机的数据包。host 后面加主机的 IP 地址,就可以只抓取这个主机的所有数据包,其他主机的数据包就会被过滤掉。

tcpdump 抓包工具详细图文教程(上)

案例 2:获取目的地址是 192.168.170.134 的报文

tcpdump dst 192.168.170.134

解释:dst 指的是目的地址;这个是确定传输方向的关键字,src 源;dst 目的。

tcpdump 抓包工具详细图文教程(上)

基于网段进行过滤:net

案例 3:截获特定网段 192.168.170.0/24 的主机收到的和发出的所有的数据包

tcpdump net 192.168.170.0/24

解释:net 192.168.170.0/24,指明 192.168.170.0/24 网段,可以直接过滤这个网段的数据包网段同样可以再细分为源网段和目标网段。

tcpdump 抓包工具详细图文教程(上)

$ tcpdump src net 192.168

$ tcpdump dst net 192.168 

4.2 tcpdump 基于端口的过滤规则 

基于端口进行过滤:port

案例 4:获取特定端口 比如 http 的包,使用如下命令:

tcpdump tcp port 80

解释:port 80 指明端口 80,只会抓取这个 80 端口的数据包;加上具体某个协议的某个端口,就可以更加精确的捕获对应的业务的数据报文了。如下图,就会只抓取 TCP 协议的 80 端口的数据报,也就是 http 协议的数据报文。 (tcpdump src port 80 / tcpdump dst port 80)

tcpdump 抓包工具详细图文教程(上)

如果你想要同时指定两个端口你可以这样写:tcpdump port 80 or port 22、tcpdump port 80 or 22;

如果你的想抓取的不再是一两个端口,而是一个范围,一个一个指定就非常麻烦了,此时你可以这样指定一个端口段。

  • tcpdump portrange 8000-8080
  • tcpdump src portrange 8000-8080
  • tcpdump dst portrange 8000-8080

对于一些常见协议的默认端口,我们还可以直接使用协议名,而不用具体的端口号:比如http==80,https==443 等:tcpdump tcp port http

4.3 tcpdump 基于协议过滤的规则

基于协议进行过滤:protocal

案例 5:获取 ICMP 协议的报文

tcpdump icmp

解释:标明要抓取的协议报文,一般常用的比如 ip、ip6、arp、icmp、tcp、udp 等。

注意:http、dns、https、ssh 等这些应用层的协议,不能直接这样写,需要写成:tcpdump port http 或者 tcpdump port 53(DNS) 

tcpdump 抓包工具详细图文教程(上)

下一篇文章:tcpdump 抓包工具详细图文教程(下)_Stars.Sky的博客-CSDN博客 文章来源地址https://www.toymoban.com/news/detail-467217.html

到了这里,关于tcpdump 抓包工具详细图文教程(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用tcpdump命令进行抓包+详细示例

    tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 可以将tcpdump理解为一个具有抓取数据包功能的命令。 tcpdump命令跟其他的Linux命令的使用类似,需

    2024年02月08日
    浏览(44)
  • 计算机网络抓包工具——tcpdump详解

    目录 一、tcpdump是什么? 二、tcpdump里常用参数 1、可接的选项  2、type类过滤器【参数】 tcpdump是Linux里的字符界面的数据抓包分析软件。tcpdump是一个用于截取网络分组,并输出分组内容的工具。 tcpdump:其中tcp:传输控制协议,位于传输层transmission control protocol。dump:导出

    2024年02月08日
    浏览(70)
  • 路由器抓包工具TCPDUMP使用方式

    tcpdump,用简单的语言概括就是dump the traffic on a network,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具,windows平台有sniffer等工具,tcpdump可以将网络中传输的数据包的\\\"包头\\\"全部捕获并进行分析,其支持网络层、特定的传输协议、数据发送

    2024年02月08日
    浏览(41)
  • Tcpdump 抓包工具使用以及Wireshark解析pcap包

    Tcpdump 抓包工具使用以及Wireshark解析pacp包 参考链接(比较详细):https://blog.csdn.net/weixin_42866036/article/details/128004750 命令解析: -nn: 解析DNS 为IP        -e:         -i: 指定网关 -s: 包大小 -A:         cp[((tcp[12:1] 0xf0) 2):4] = 0x47455420: 由于我们都是http请求,这里使用监控http请

    2024年02月08日
    浏览(43)
  • 【网络抓包工具】tcpdump 最新版本移植到开发板(海思平台)

    tcpdump 是一个功能强大的,用于抓取网络数据包的命令行工具,与带界面的 Wireshark 一样,基于 libpcap 库 (一个用于网络流量捕获的可移植C/C++库) 构建。 tcpdump 的设计目标是帮你分析包头(比如Tcp包头,udp包头),同时你可以根据包头,用它支持的表达式,过渡出你感兴趣的包

    2024年02月01日
    浏览(51)
  • 抓包工具fiddler详细使用教程

    各位做测试的同学想必对抓包工具fiddler并不陌生,但是很多同学可能没有总结过它的用法,下面我总结了fiddler一些常用的用法。 Web端抓包配置 打开Fiddler,Tools - Fiddler Options - HTTPS 配置完后记得要重启Fiddler 选中Decrpt HTTPS traffic, Fiddler就可以截获HTTPS请求 第一次会弹出证书安

    2024年02月08日
    浏览(53)
  • 【linux命令讲解大全】045.网络数据分析利器:深度解读 tcpdump 抓包工具的使用方法

    tcpdump是一款在Linux上的抓包工具,用于嗅探网络数据。 补充说明 tcpdump命令是一款抓包、嗅探器工具。它可以打印所有经过网络接口的数据包的头信息,并可使用-w选项将数据包保存到文件中,以便以后进行分析。 语法 选项 -a:尝试将网络和广播地址转换成名称 -c 数据包数

    2024年02月10日
    浏览(51)
  • Hydra密码爆破工具使用教程图文教程(超详细)

    「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Hydra也叫九头蛇,是一款开源的暴力PJ工具,集成在kali当中。 参数: -l 指定用户名 -p 指定密码 -L 指定用

    2024年02月06日
    浏览(52)
  • 指纹识别工具WhatWeb使用教程,图文教程(超详细)

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 WhatWeb是一款指纹识别工具,使用Ruby语言开发,kali自带。 whatweb IP/域名 扫描

    2024年02月09日
    浏览(45)
  • 无线空中包抓包教程:使用vmware虚拟机的ubuntu系统,通过tcpdump抓取无线空中包

    在实际抓取空中包的过程中,对应网卡的windows驱动往往不支持抓包(或者只能购买购物网站上的性能不大行的所谓windows专用抓包工具,其实这从底层上看是不合理的,就算找客服问,他们往往也无法准确回答),而这种抓包的方式在linux系统上更容易开发(甚至原生就支持)

    2024年01月25日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包