第六章 TCP和IP协议族.doc_第1页
第六章 TCP和IP协议族.doc_第2页
第六章 TCP和IP协议族.doc_第3页
第六章 TCP和IP协议族.doc_第4页
第六章 TCP和IP协议族.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章 TCP/IP协议族理论讲解部分6.1分层模型6.1.1分层的思想分层模型是一种用于的设计方法开网络协议发。而分层思想本质上讲就是把节点间通信这个复杂性问题分成若干现对简单的问题逐一解决,而每个问题对应一层。l 各个岗位各尽其职l 岗位间存在这上下级关系,每个岗位虽都有自己的小任务,但最终都为实现产品推广这个目标服务。l 岗位间要沟通,上级对下级下达任务,下级对上级负责赋予每一层一定的功能,相邻层之间通过接口来通信,下层为上层提供服务。6.1.2OSI参考模型与TCP/IP协议族它规定将网络分为七层,从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI参考模型中各层的功能:1. 物理层:负责传送比特,涉及到接口和传输媒介的机械、电器等特性。如串口COM1、COM22数据链路层:负责传送帧如二层交换机3.网络层:负责路由、传送分组。如路由4.传输层:负责传送完整的报文,并进行流量控制和差错控制5.会话层:负责建立、维护、终止会话连接,提供会话管理服务等6表示层:负责数据格式的转换7应用层:给应用程序提供接口,使应用程序接入到网络6.2 TCP/IP协议族的组成与数据的传输过程6.2.1 TCP/IP协议族的组成有五层组成:物理层、数据链路层、网络层、传输层、和应用层1.物理层和数据链路层2.网络层3传输层4.应用层6.2.2数据传输过程6.3 TCP/IP协议族各层的协议重点操作部分6.3.1使用Sniffer Pro捕获数据包Sniffer Pro是一个能够在网络中捕获数据包的软件启用Sniffer Pro后单击图6.6中的按钮,出现图6.7的界面当图6.7中的按钮可用时,表示以捕获的数据,单击按钮,然后单击Decod选项,出现图6.8的界面,即可看到捕获的数据包。6.3.2 TCP/IP网络层协议1. IP协议IP是一种不可靠的无连接数据报协议-尽最大努力服务。尽最大努力是指IP 不提供差错检验或跟踪。IP数据报由两部分组成:头部和数据部分在主机PC1上ping一次主机PC2如ping n 1在PC2上用Sniffer抓到了两个包如图6.9IP数据报的头部结构:=左边是字段名,右边是字段值及其含义的解释l 源IP地址(source IP Address):用于表示IP数据包的源地址,它记录了发送该IP数据包的主机IP地址为l 目的IP地址(Destination IP Address):用于表示IP数据包的目的地址,他指出了IP数据包要到达的目的主机的IP地址为l TTL(Time to live):用于表示IP数据包的生存时间2. ICMP协议ICMP有差错报告或差错纠正机制,能够确定是否一个路由器或主机是活跃的,它本身就是网络层协议,它的报文先封装成IP数据报,然后再传送给数据链路层ICMP报文有两部分组成:头部和数据部分下面通过抓包来看一下ICMP报文的头部结构在主机PC1上ping一次(使用参数-n1)主机PC2如Ping n 1在PC2上用sniffer抓到两个包,如图6.11和图6.12可以看到ICMP头部有多个字段:1.类型为8表示回应请求(Echo)3. 类型为0表示回送应答(Echo reply)4. ARP协议当主机或路由器不知道网络上另一个主机或路由器的物理地址时,就以广播的形式发送ARP查询分组ARP分组直接封装在链路层的帧中下面通过抓包来看一下ARP分组和帧结构 首先在主机PC1上使用arp-d命令清除一下ARP缓存表,然后向主机PC2发送一个ICMP包如ping -n 1在PC2上用sniffer抓到了两个ARP分组,如图6.14和图6.15l 操作代码(opcode):1表示ARP请求(图6.14),2表示ARP应答(图6.15)l 发送端硬件地址(sende s hardware address):例如图6.14中表示主机PC1的网卡地址l 发送端协议地址(sender”s protocol address):例如图6.14中表示主机PC1的IP地址l 目标段硬件地址(target hardware address):图6.14中的000000000000表示主机PC1不知道PC2的网卡地址,而图6.15中表示主机PC1的网卡地址l 目标端协议地址(target protocol address):例如图6.14中表示主机PC2的IP地址可以看到。主机PC2在ARP应答分组中已经包含了自己的物理地址,这样PC1就获得了PC2的物理地址,下一步PC1就可以向PC2发送IP 数据报了接下来看一下数据链路层侦头的结构查看图6.15所示的ARP分组的DLC(数据链路层),看一下它的侦头结构,如图6.16所示,这是PC2回应PC1的侦,其字段说明如下l 目的地址(destination):这里表示主机PC1的网卡地址l 源地址(source):这里表示主机PC2的网卡地址l 类型(ethertype):0x0806表示此侦所携带的数据是ARP分组。如图6.17所示,攻击方主机()运行网络执法官,给网络中所有的主机发送网关的假MAC地址,于是除了攻击方主机之外,任何主机都无法和网关建立连接。现在在其中一台“受害”主机安装sniffer pro,那么如何通过sniffer抓包来分析ARP攻击的原理呢?推荐步骤:l 捕捉并查看报文单击按钮,将开始捕获所有收到和发出的数据报文。等一段时间之后,单击按钮,察看分析结果l 过滤捕获报文在弹出的界面单击鼠标右键,在弹出的快捷键菜单中选择“定义过滤器”设定过滤规则,如图6.18:ARP攻击(1)在“高级标签中选择ARP协议,单击确定后,应用过滤器即可l 分析验证ARP攻击原理在捕获的数据中只剩下ARP协议的数据报文如图6,19ARP攻击(2)通过观察发现,大部分ARP数据包来自MAC地址为001FC644A3CF的主机。选中一个发送给主机的报文,查看数据报文的具体内容发现,该数据报文属于ARP的回应包(ARP reply),其内容是为了告送本机10.0.200的ip地址对应的MAC地址为030474D1D664,这个地址显然和真实的网关MAC(001a64a152f0)不同。因此如果本机将这个地址存入ARP缓存,自然无法与网关进行通信。如图6.20所示ARP攻击(3),攻击主机除了发送上述攻击报文外,还给该网段的所有主机发送ARP请求报文(ARP request),这些数据报文的目标MAC地址全为0,请求对方回应。如图6.21所示,ARP攻击(4)本机()回应了的请求,将自己的MAC地址发送给如果仔细观察还可以发现,运行网络执法官的主机定期会给所有在线主机发送ARP请求,以确定这些主机是否在线,如果捕获数据报文的时间再长些,还会发现软件大概三分钟就会进行一次全网段的扫描,即给54的所有主机发送ARP请求。6.3.3 TCP/IP传输协议1. TCP协议即传输控制协议,是一个可靠的、面向连接的协议。它允许两台主机之间无差错的传输数据。在数据传输之前,发送端与接受端要建立连接。等数据发送结束后,双方在断开连接。TCP连接的每一方都是由一个IP地址和一个端口号组成的。TCP建立连接的过程称为三次握手,下面通过sniffer抓包来分析三次握手的过程在PC1上启用IE访问,在PC2上用sniffer抓到了很多数据包,只分析前三个数据包如图6.22TCP三次握手一、如图6.23、TCP三次握手二如图6.24所示TCP三次握手三1第一次握手PC1使用一个随机的端口号向PC2的80端口发送建立连接的请求,此过程的典型标志就是TCP的SYN控制位为 1,其他五个控制位全为0在图6.22中,源地址(source address):,源端口号(source port ):1276,目的地址(dest address):,目的端口号(destination port);80,初始序列号(initial sequence number):1552649478,标志位(flags)中的SYN为12. 第二次握手实际上分为两部分完成(1) PC2收到了PC1的请求,向PC1回复一个确认信息此过程典型标志就是TCP的ACK控制位为1,其他五个控制位全为0,而且确认序列号是PC1的主食序列号加1。(2) PC2也向PC1发送建立连接请求,此过程典型标志和第一次握手一样,就是TCP的SYN控制位为1 ,其他五个控制位全为0 8如图6.23中,源地址;,源端口号;80,目的地址;,目的端口号;1276,确认序列号:1552649479,初始序列号;1333196840,标志位中的SYN为1,ACK为1(3) 第三次握手PC1收到了PC2的回复(包含请求和确认)也要向PC2回复一个确认信息,此过程的典型标志就是TCP的ACK控制位为1,其他五个控制位全为0,而且确认序列号是PC2的初始序列号加1如图6.24中,源地址,源端口号1276,目的地址;,目的端口号:80,确认序列号:1333196841,标志位中的ACK为1这样就完成了三次握手,PC1与PC2就建立了TCP连接,在PC2上的CMD窗口中运行netstat-na命令查看到其中状态(state)是ESTABLISHED,表明TCP连接以建立成功注意:netstat命令可以显示协议统计信息和当前的TCP/IP网络连接,参数-a显示所有连接和监视端口,-n以数字形式显示地址和端口号,使用netstat/?可以查看详细的说明。从以上的演示中可以将TCP的三次握手总结为图6.25所示的过程(图中seq表示请求序列号,ACK表示确认序列号,SYN和ACK为控制位)可以看出,SYN控制位只有在请求建立连接时才被置为1TCP端口及应用21号端口FTP-FTP服务器所开放的控制端口23号端口-TELNET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论