网络已经是无处不在,很多时候我们都会利用网络与不同主机进行通信,包括网络内部和外部的。大多数情况下这不会遇到问题,但是有时您需要仔细检查您的网络以查明问题原因。

  仔细检查网络流量内容的原因有很多。其中第一个原因是您可能正在调试一个现有的网络应用,或者您正在开发一个应用,而您想要监控通过您的网络的流量。第二个原因是需要识别可能耗尽网络带宽和资源的流量。对于前一种情况,您可能已经知道协议的内容了,但是您希望能够更深入地了解正在传输的实际数据,例如,在使用 Web 服务时。对于后一种情况,确定数据包的内容需要了解正在使用的协议的一些扩展知识。
  在 TCP/IP 和 UDP/IP 的通信中,最主要的元素是用于确定主机和端口号的 IP 地址。端口号用于提供额外的通信通道,这样您才能够在两个主机之间实现多个连接。其中端口定义还有一些标准。例如,端口 25 是专用于电子邮件(SMTP)传输,而大多数网站都是运行在端口 80(HTTP)上的。这些规范可以使程序之间通过一个熟悉的通道进行通信,这与您选择电话或传真号的道理是一样的。
  虽然有这样一些规范,但是您实际想使用哪些端口是没有任何限制或约束的。事实上,大多数情况下一些破坏性网络应用和一些安全性方法会故意使用非标准端口。例如,有些应用会通过将一个标准端口用于不同的协议而隐藏内容,如在 端口 25 上使用 HTTP 协议。此外,有时某些应用也会使用与标准不同的端口,这样端口的用途就明显了(如,将端口 99 用于 HTTP),或者将特定的协议流量封装到另一个协议中。最后的方法实际上是网络通道和虚拟私有网络(×××)所使用的方法。
  不管网络流量原因和复杂性,第一个步骤都会开始记录数据。
  记录原始数据
  如果您希望记录网络原始数据,以便自己检查这些信息,那么您可以使用许多不同的工具。大多数的网络嗅探器也能够解码和解密特定的数据包内容,这能够帮助您研究一个已知协议的内容。
  在 Solaris 上,您可以使用 snoop 工具,而在 AIX 上,您可以使用 iptrace 工具。您也可以尝试使用跨平台的 tcpdump 工具,它支持大多数的 UNIX 和 Linux 操作系统。这些工具能够帮您捕捉和解码数据包,通常也能为您执行大多数的协议分析。注意,现代交换机不会将 Ethernet 数据包发送到每一个端口上,这通常会限制您从当前主机获取的信息量。许多现代交换机具有一个管理端口,它通常带有与这种监控完全相同的所有数据包的副本。
  解码网络传输最复杂的是网络数据包中信息的级别。此外,大部分信息也会经过二进制编码后再发送,从网络捕捉完全原始的数据包需要进行大量的操作才能捕捉您需要的数据。通过使用实现某些处理的工具,您可以简化解码网络数据的过程。
  例如,在一个 Ethernet 上查看一个典型的 TCP/IP 协议,您将会发现网络中传输的数据包括:
  Ethernet 数据包头,包括 Ethernet 来源和目标地址,数据包大小和 Ethernet 数据包类型。
  IP 报头,由 IP 寻址(来源和目标),协议标识和 IP 标记。您也会得到关于分片和数据包顺序的信息。
  TCP 报头,它包含端口上的信息、隐含的协议、标记和顺序编号。
  即使有这些信息,我们仍然无法了解实际内容。在 TCP(或 UDP)协议之下还有额外的协议,标准数据协议(包括 HTTP、SMTP 和 FTP),或者封装性协议,如 Remote Procedure Call (RPC) 和 RPC 的子类型,如 NFS。
  通常这些工具必须使用协议和/或端口号来确定正在传输的内容。所以,如果流量是通过非标准端口传输的,那么这个些信息可能无法正确解码。
  基本的网络分析
  本文之前提到的许多网络嗅探工具都提供了不同级别的协议解码,它们是通过检查端口和内容来确定所使用的协议实现的。
  例如,snoop 和 tcpdump 都提供了关于 UDP 和 TCP 上不同协议的不同级别的详细信息。例如,在 snoop 中,您可以获得从顶级协议到所传输的单个数据块的关于 NFS 操作的详细信息。例如,您可以通过指定监控 RPC 使用 NFS 协议来实现对 NFS 流量的监控:$ snoop -v rpc nfs。

转载于:https://blog.51cto.com/tapedrive/708261

Unix网络协议分析相关推荐

  1. [转]常用网络协议分析工具

    1:TCPDUMP,老牌的分析工具,最先在linux平台使用,现在也可以用于windows平台.命令行方式,2000年以前参加工作者最喜爱的工具,缺点无法分析四层以上协议.常用于检测2-3层网络问题. ...

  2. 网路游侠:网络协议分析类产品简析

    目前网络协议分析类产品火爆的很,游侠(www.youxia.org)其实在几年前就在关注这个市场,目前应该说已经做的如火如荼,但是貌似依然有很多人对这类产品认识有偏差,简单说几句: 网络协议分析类产品 ...

  3. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  4. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

  5. 网络协议分析工具Ethereal的使用

    大学时计算机网络课的实验报告,当时提不起兴趣,今天看来还挺有用的.可以学习下怎样抓数据包,然后分析程序的通信协议. 一:学习使用网络协议分析工具Ethereal的方法,并用它来分析一些协议. 实验步骤 ...

  6. 网络协议分析与仿真课程设计报告:网络流量分析与协议模拟

    公众号:CS阿吉 网络协议分析与仿真课程设计报告  题  目:网络流量分析与协议模拟 专业名称:         网络工程 班    级: 学生姓名:           阿吉 学号(8位): 指导教 ...

  7. 网络协议分析(最全)

    网络协议分析 1.基于Fiddler的HTTP/HTTPS协议分析 关于Fiddler:      Fiddler是一款由C#开发的免费http调试代理软件,有.net 2和.net 4两种版本.Fi ...

  8. 网络协议分析期末复习专题(二)

    期末重点 1.过滤器:区分显示过滤器和捕获过滤器;表达式写监听端口和报文. 2.嗅探:通过集线器,交换机或其他设备进行嗅探;以及嗅探器的位置;网卡可以进行嗅探的原因(混杂模式). 3.网络协议分析:I ...

  9. 网络协议分析(仅供参考,后面的wireshark抓包内容最好自己看书研究)

    必须掌握ARP协议的格式.工作原理和过程.功能,arp命令主要参数等 Arp协议被称为地址解析协议,功能是在同一局域网中,进行mac寻址完成ip到mac的映射,因为局域网中,信息的交流要通过mac地址 ...

最新文章

  1. Briefings in Bioinformatics:微生物基因组学和功能基因组学相关软件和数据库的研究进展
  2. Nature:人类肠道微生物组的肠型
  3. Android App压力测试(Monkey和ADB)
  4. makefile中的include *******
  5. MacOS AElf Boilerplate开发体验
  6. Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况
  7. 学习在网页中应用大图片背景的20个精美案例
  8. CompletableFuture 创建异步对象
  9. HDLBits答案(10)_D触发器、同步与异步复位、脉冲边沿检测
  10. XFire下根据WSDL生成Client Stub,并测试Client
  11. C语言 二级指针内存模型混合实战
  12. 易语言mysql乱码_分享一个解决MySQL写入中文乱码的方法
  13. HBase(2) Java 操作 HBase 教程
  14. java jxl上传excel_JAVA JXL -----excel文件上传和解析
  15. java语言的输入输出_java语言的输入输出
  16. (附源码)计算机毕业设计Java远程健康数据管理系统
  17. 标准单元库的corner简述
  18. Mac解决 zsh: command not found: ll
  19. c语言企业自动化管理系统,基于C语言制作的人事管理系统-自动化毕业论文.doc...
  20. 北京星美影院等五家企业因拒收现金被央行警告处罚

热门文章

  1. LeetCode Third Maximum Number
  2. 结构型模式之Proxy模式
  3. reGeorg+Proxifier使用
  4. ActiveReports for .NET 3 破解
  5. 数据结构——算法的基本概念
  6. elasticsearch入门一
  7. 个人站立会议(11月17日)
  8. ASP.NET MVC
  9. location和location.href跳转url的区别
  10. select for update