Linux环境下tcpdump网络协议抓包与解析

 更新时间:2023年09月13日 11:37:30   作者:点墨  
这篇文章主要为大家介绍了Linux环境下tcpdump网络协议抓包与解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

环境

使用tcpdump分析常见网络协议(ARP,DNS)

linux: red-hat 8

yum install bind-utils tcpdump net-tools

ARP

前置条件

机器A与机器B处于同一网段

步骤

1.机器A的终端A执行 arp -D 机器B的IP

2.机器A的终端A执行 tcpdump -i ech0 -ent '(dst 机器AIP and src 机器BIP) or (dst 机器BIP and src 机器AIP)' -X

3.机器A的终端B执行 ping 机器B的IP

4.机器A的终端A获得网络包

结果

分析

0001 //硬件类型,1表示MAC地址
0800 //协议类型,表示要映射的协议地址类型,0800表示IP地址
06 //硬件地址长度字段,MAC地址是6
04  //协议地址长度字段,IPV4是4
0001 //操作类型,1为ARP请求,2为ARP应答,3位RARP请求,4位RARP应答 
000c 29ff 22e7 //发送端以太网地址
0a70 8871 //发送端IP地址
0000 0000 0000 //目的端以太网地址,全0表示广播,broadcast,同网段下所有的机器都会接收到
0a70 886a //目的端IP地址 
0001 //硬件类型,1表示MAC地址
0800 //协议类型,表示要映射的协议地址类型,0800表示IP地址
06 //硬件地址长度字段,MAC地址是6
04 //协议地址长度字段,IPV4是4
0002 //操作类型,1为ARP请求,2为ARP应答,3位RARP请求,4位RARP应答 
000c 297c 7c42 //发送端以太网地址
0a70 886a //发送端IP地址
000c 29ff 22e7 //目的端以太网地址,全0表示广播,broadcast,同网段下所有的机器都会接收到
0a70 8871 //目的端IP地址 
0000 0000 0000 0000 0000 0000 0000 0000 0000 //填充字节

DNS

步骤

  • vi /etc/resolv.conf 配置DNS服务器
  • 服务器终端1执行 tcpdump -i ech0 -nt -s 500 port domain -X
  • 服务器终端2执行 host -t A www.baidu.com
  • 终端1获得结果

结果

分析

4500 003b 3f0d 0000 4011 9136 0a70 8871 0a70 0d1e c153 0035 0027 aaa7 //IP表头
1048 //16位标识
0100 //16位标志 0 0000 0 0 1 0 000 0000 QR:0表示请求 opcode:0表示默认查询 AA:0 TC:0 RD:1表示递归查询 RA:0 zero:全0, rcode:返回码,表示应答状态,0表示无错误
0001 //16位问题个数
0000 //16位应答资源记录个数
0000 //16位授权资源记录数目
0000 //16位额外的资源记录数目
//查询问题
0377 7777 0562 6169 6475 0363 6f6d 00//查询名(可变长) www.baidu.com
0001 //16位查询类型,1表示获取目标主机的IP地址
0001 //16位查询类,1表示获取因特网地址(IP地址)
4500 0076 52ae 0000 7a11 435a 0a70 0d1e 0a70 8871 0035 c153 0062 55ca //IP表头
1048 //16位标识,与请求报文对应
8180 //16位标志 1 0000 0 0 1 1 000 0000 QR:1表示应答 opcode:0表示默认查询 AA:0 TC:0 RD:1表示递归查询 RA:1表示服务器支持递归查询 zero:全0, rcode:返回码,表示应答状态,0表示无错误
0001 //16位问题个数
0003 //16位应答资源记录个数,有3个
0000 //16位授权资源记录数目
0000 //16位额外的资源记录数目
//查询问题
0377 7777 0562 6169 6475 0363 6f6d 00 //查询名(可变长) www.baidu.com
0001 //16位查询类型,1表示获取目标主机的IP地址
0001 //16位查询类,1表示获取因特网地址(IP地址)
//应答
c00c 0005 //32位域名
0001 //16位类型 A
0000 //16位类
02f6 000f //32位生存时间
0377 777701 6106 7368 6966 656e c016 // www.a.shifen
c02b 0001 //32位域名
0001 //16位类型A
0000 //16位类
0004 0004 //32位生存时间
dcb5 2696 // 220.181.38.150
c02b 0001 //32位域名
0001 //16位类型A
0000 //16位类
0004 0004 //32位生存时间
dcb5 2695 // 220.181.38.149

以上就是Linux环境下tcpdump网络协议抓包与解析的详细内容,更多关于Linux tcpdump网络协议抓包解析的资料请关注脚本之家其它相关文章!

相关文章

  • shell脚本实现磁盘监控系统

    shell脚本实现磁盘监控系统

    这篇文章主要介绍了shell脚本实现磁盘监控系统,帮助大家更好的利用shell脚本管理数据,感兴趣的朋友可以了解下
    2020-09-09
  • shell脚本实现输入密码显示星号

    shell脚本实现输入密码显示星号

    本文给大家分享使用shell脚本实现输入密码显示星号的脚本写法,在文章末尾给大家补充了shell输入密码时关闭屏幕回显的实现方法,需要的朋友参考下吧
    2017-01-01
  • shell周期差量备份文件夹的实现代码

    shell周期差量备份文件夹的实现代码

    这篇文章主要介绍了shell周期差量备份文件夹的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • shift妙用之解决shell编程中的入参问题

    shift妙用之解决shell编程中的入参问题

    shell编程经常会遇到参数个数不定的这种情况,这种情况怎么处理呢?shift就要闪亮登场了
    2013-08-08
  • 一天一个shell命令 linux好管家-磁盘-du命令详解

    一天一个shell命令 linux好管家-磁盘-du命令详解

    这篇文章主要介绍了一天一个shell命令 linux好管家-磁盘-du命令详解,需要的朋友可以参考下
    2016-06-06
  • Jenkins中sh函数的用法示例小结

    Jenkins中sh函数的用法示例小结

    这篇文章主要介绍了Jenkins中sh函数的用法示例小结,通过实例代码讲解了三种用法,每种方法给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Linux 下vim使用教程

    Linux 下vim使用教程

    Vim是从 vi 发展出来的一个文本编辑器。这篇文章给大家介绍Linux 下vim使用教程,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-07-07
  • Linux压缩和解压命令大全之tar、gzip和zip详细教程

    Linux压缩和解压命令大全之tar、gzip和zip详细教程

    本文介绍了常用的压缩和解压命令,包括tar、gzip和zip,通过使用这些命令,我们可以方便地对文件和目录进行压缩和解压操作,从而节省存储空间和提高传输效率,需要的朋友可以参考下
    2023-09-09
  • Shell中去除字符串前后空格的方法

    Shell中去除字符串前后空格的方法

    今天小编就为大家分享一篇关于Shell中去除字符串前后空格的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 深入理解Linux shell中2>&1的含义(全网最全,看完就懂)

    深入理解Linux shell中2>&1的含义(全网最全,看完就懂)

    这篇文章主要介绍了深入理解Linux shell中2>&1的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论