• TCP/IP详解卷1 - 系列文

    • TCP/IP详解卷1 - 思维导图(1)
    • TCP/IP详解卷1 - wireshark抓包分析
  • 引言

在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wireshark抓包分析各种协议,可以让抽象变得具体。

  • wireshark抓包

    wireshar抓包的教程很多,这里就不再重复。参考下图:

wireshark抓包

  • wireshark快速get对应filter

我们知道wireshark抓到的内容很多,要过滤我们需要的信息就需要设置对应的filter,例如:想要过滤ICMP协议相关的log,直接在Filter里面输入协议名称"icmp",就能过滤出ICMP的log。

这是一种最简单的过滤条件了。实际上设置filter的语句有很多,如果想要过滤ICMP中type为3(目的地不可到达)的数据报,但又不知道filter应该怎么写,那应该怎么办呢?

这个时候,我们就可以直接利用wireshark提供的As Filter功能,快速get到想要设置的filter。

如下图所示,要过滤ARP数据报中的ARP请求数据报,直接选中Opcode: request(1),右键 ->Copy->As Filter,就能得到对应filter。

wireshark快速get对应filter

  • IP数据报

  • IPv4报文首部

要分析IP数据报的内容,首先得知道它的数据报的数据结构。

IPv4报文首部 - 图片来自维基百科

  • wireshark过滤IP数据报

然后过滤IP数据报,从下面这个图可以看出,IP数据报被封装到以太网帧里面,当以太网帧的type值为0x0800时,那么以太网帧封装的就是IP数据报了。

IP数据报被封装到以太网帧里面

因此,设置eth.type == 0x800就能过滤出IP数据报。根据下图,再对比IPv4报文首部的数据结构,就可以更加清晰地理解IP数据报了。

IP数据报

  • ARP

  • ARP报文格式

ARP报文格式 - 图片来自维基百科

  • wireshark过滤ARP数据报

和IP数据报一样,ARP数据报被封装到以太网帧里面,当以太网帧的type值为0x0806,设置
eth.type == 0x806就能过滤ARP数据报。

ARP数据报又分为请求数据报和应答数据报。
首先,查看我本机的MAC地址,在wireshark中过滤ARP请求数据报的MAC地址等于我本机地址的一条log。如下图,本机请求IP地址为10.120.1.91的主机的MAC的ARP请求。

ARP请求

通过上面的ARP数据报,我又可以得到ARP请求中Sender IP address的Filter格式,我只需要过滤
Sender IP address为10.120.1.91,最后过滤出来的结果就只有2条。

查看其中Target MAC address为我本机MAC地址,并且Opcode为2,即是10.120.1.91返回的APR应答,其中Sender MAC address,就是ARP请求得到的MAC地址。

ARP应答

  • ICMP

  • ICMP数据报格式

ICMP报头 - 图片来自维基百科

  • wireshark过滤ICMP数据报

ICMP报头格式虽然简单,但是对应类型很多,分析方法也是类似的,选中你想要设置为过滤条件的参数,然后copy为filter

ping request

ping reply

没有到达目的地的路由

ICMP重定向

  • 参考

  • [TCPIP] TCP/IP Illustrated, Volume 1: The Protocols. W. Richard Stevens.

  • IPv4

  • ARP

  • ICMP

TCP/IP详解卷1 - wireshark抓包分析相关推荐

  1. 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  2. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  4. 《TCP/IP详解卷1:协议》读书笔记

    <TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园 https://www.cnblogs.com/mengwang024/p/4425834.html &l ...

  5. 《TCP/IP详解卷1》学习小结(一)------链接层

    开始学习<TCP/IP详解卷1>这本著作,每一章都要写一篇学习小结.        一.  总述 链接层位于整个网络协议suite的最低一层,与硬件关系密切,比如以太网,token rin ...

  6. TCP/IP详解卷2之插口层

    TCP/IP详解卷2之插口层篇 插口层概述 主要功能 splnet处理 socket结构 系统调用 进程.描述符和插口 socket系统调用 socreate函数 getsock和sockargs函数 ...

  7. 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议---读书笔记

    <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议---读书笔记 1.引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站, ...

  8. 《TCP IP 详解卷1:协议》阅读笔记 - 第十章

    阅读须知:笔记为阅读<TCP IP 详解卷1:协议>后摘抄的一些知识点,其间也有加入一些根据英文原版的自己翻译和结合网上知识后的理解,所以有些段落之间并不能够串联上或者知识点与书上略有差别 ...

  9. 《TCP/IP详解·卷1:协议》随笔(已完结)

    第一章.概述 Internet的成功 Internet体系结构被设计成支持现有网络互联,同时提供了广泛的服务与协议操作. 选用数据包的分组交换主要是因为它的鲁棒性与效率,而相对来说数据安全性与交付可预 ...

最新文章

  1. JAVA中的并发工具 -- CountDownLatch、CyclicBarrier、Semaphore
  2. Mac OS 下安装 MacVim
  3. thrust 学习笔记
  4. libdgl.dll WinError 126
  5. 共享文件夹的网络路径_Win10创建网络共享文件夹|设置局域网共享文件夹
  6. 5、数据库设计的三大范式
  7. 切点、切面:@Aspect、@PointCut相关的个人总结
  8. Linux系统 iptables 和 firewalld 的那些事
  9. ipv6 ospf配置方法_【思唯网络学院】网络故障大全及处理原理和方法
  10. Sublime Text3终极宝典
  11. 学python最重要的是_Python学习,要选哪个版本?
  12. 10 行代码玩转弹性调度的小把戏
  13. JSTL和EL的使用
  14. 应用物理跨考计算机专业,应用物理学考研可跨专业
  15. SQL数据查询语句(一)
  16. EPM连接显示服务器不可用,EPM问题汇总之-SmartView没法链接Essbase
  17. VS Code 快捷打开(localhost)PHP页面
  18. 02 Uber Go 语言编码规范 - 指导原则 - interface 合理性验证
  19. SGI STL的rb_tree浅析
  20. 代码随想录算法训练营第二十二天

热门文章

  1. mysql自带客户端连接服务器,客户端连接mysql服务器的指令 mysql -u root -p 详细讲解及使用实例...
  2. hadoop设置用户权限_No.9 MySQL之用户管理与权限设置
  3. python面向对象中的私有属性和私有化方法
  4. mvp模式 php,Hyper-V - 增强会话模式
  5. Sphinx——自动生成Python文档
  6. mpp文件转换excel_原来只要按下这个键,Word、PDF、PPT、Excel文件随你互相转换
  7. mac 10.12.6 Fiddler的安装
  8. 非常详细GC学习笔记
  9. JS有哪些数据类型?
  10. 数据库笔记06:创建并管理数据表