《51CTO下载-第2章+TCPIP协议和网络安全.ppt》由会员分享,可在线阅读,更多相关《51CTO下载-第2章+TCPIP协议和网络安全.ppt(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章 TCP/IPTCP/IP协议协议和网络安全和网络安全奠基计算机网络奠基计算机网络清华大学出版社清华大学出版社 韩立刚韩立刚MSN:更多视频更多视频 第第2 2章章 TCP/IPTCP/IP协议协议 2.1 OSI和DoD模型 2.2 传输层协议 2.3 应用层协议 2.4 应用层协议和服务 2.5 配置服务器网络安全 2.6 网络层协议 2.7 使用捕包工具排除网络故障 第第2 2章章 TCP/IPTCP/IP协议协议传输控制协议/因特网协议(TCP/IP)组是由美国国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信。如果能进行正确的设计和应用,TCP/
2、IP网络将是可靠的并富有弹性的网络。本章将详细阐述TCP/IP的层次结构,以及每层包含的协议,讲解了传输层两个协议TCP和UDP协议应用场景,应用层协议和传输层协议的关系,应用层协议和服务之间的关系。并且演示了在Windows Server 2003上安装配置FTP服务、Web服务、POP3服务、SMTP服务和DNS服务,启用服务器的远程桌面,并且配置客户端连接这些服务器。第第2 2章章 TCP/IPTCP/IP协议协议配置Windows防火墙保护Window XP安全和使用TCP/IP筛选配置服务器安全,防止主动入侵计算机。配置IPSec严格控制进出服务器的数据流量,避免木马程序造成威胁。同
3、时展示使用捕包工具排除网络故障。TCP/IP协议和DoD模型传输层协议应用层协议应用层协议和服务的关系配置服务器网络安全使用捕包工具排除网络故障。TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。2.1 OSI2.1 OSI和和DoDDoD模型模型DoD模型基本上是OSI模型的一个浓缩版本,它只有4个层次,而不足7个,它们是:应用层传输
4、层网络层网络接口层其中,如果在功能上和OSI参考模型互相对应的话,如下图所示 2.1 OSI2.1 OSI和和DoDDoD模型模型DoD模型的Process/Application层对应OSI参考模型的最高3层DoD模型的Host-to-Host层对应OSI参考模型的Transport层DoD模型的Internet层对应OSI参考模型的Network层DoD模型的Network Access层对应OSI参考模型的最底2层2.2 2.2 传输层协议传输层协议 在网络上的通信有这两种情况:一种情况是一个数据包就能完成通信任务,例如QQ聊天,一个数据包就能完成任务。一种情况是一个数据包不能完成的通信
5、任务。比如QQ传文件,需要将文件分段,编号,然后再传递到客户端。在TCP/IP协议栈,传输层有两个协议TCP和UDP。TCP(Transmission Control Protocol,传输控制协议)协议,一个数据不能完成通信任务的通信大多使用TCP协议。UDP(User Data Protocol,用户数据报协议)协议,一个数据包就能完成任务大多使用UDP协议,不可靠传输,不建立会话,数据不分段,不编号。2.2 2.2 传输层协议传输层协议 2.2.1 传输控制协议(TCP)传输控制协议(TCP)通常从应用程序中得到大段的信息数据,然后将它分割成若干个数据段。TCP会为这些数据段编号并排序,
6、这样,在目的方的TCP协议栈才可以将这些数据段再重新组成原来应用数据的结构。由于TCP采用的是虚电路连接方式,这些数据段在被发送出去后,发送方的TCP会等待接收方TCP给出一个确认性应答,那些没有收到确认应答的数据段将被重新发送。2.2 2.2 传输层协议传输层协议 当发送方主机开始沿分层模型向下发送数据段时,发送方的TCP协议会通知目的方的TCP协议去建立一个连接,这种通信方式被称为是面向连接的。在这个初始化的握手协商期间,双方的TCP层需要对接收方在返回确认应答之前,连续发送多少数量的信息达成一致。TCP是一个全双工的、面向连接的、可靠的并且是精确控制的协议,但是要建立所有这些条件和环境并
7、附加差错控制,在网络开销方面是昂贵的。然而,由于如今的网络传输同以往的网络相比,已经可以提供更高的可靠性,因此,TCP所附加的可靠性就显得不那么必要了。2.2 2.2 传输层协议传输层协议2.2.2用户数据报协议(UDP)UDP协议适用于一个数据包就能完成的数据通信任务,比如QQ聊天发送的数据,域名解析(DNS)这类通信不需要在客户端和服务器端建立会话,节省服务器资源。UDP协议也广泛应用到多播和广播应用,比如多媒体教室程序将屏幕广播给学生的计算机,教室中的计算机接收教师计算机电脑屏幕。这类通信虽然一个数据包不能完成数据包通信,但是这类通信不需要客户端和服务器端连接会话。2.2 2.2 传输层
8、协议传输层协议UDP不排序所要发送的数据段,而且不关心这些数据段到达目方时的顺序,在发送完数据段后,就忘记它们,它不去进行核对数据,或安全抵达确认的后续工作,它完全放弃了可以保障传送可靠性的操作。正是因为这样,UDP被称为是一个不可靠的协议。但这并不意味着UDP就是无效率的,它仅仅表明,UDP是一个不处理传送可靠性的协议。2.2 2.2 传输层协议传输层协议UDP不去创建虚电路,并且在数据传送前也不联系对方,正因为这一点,它又被称为是无连接的协议。由于UDP假定应用程序会保证数据传送的可靠性,因而它不需要对此做任何的工作。如果你正在使用语音IP(VoIP),那么你就不再会使用UDP,因为如果数
9、据段未按顺序到达,那么这些数据段将只会以它们被接收到的顺序传递给下一个OSI(DoD)层面。而与之不同的,TCP则会以正确的顺序来重组这些数据段,以保证秩序上的正确,UDP是不能做到这一点的。2.3 2.3 应用层协议应用层协议 传输层协议添加端口就可以标识应用层协议。应用层协议代表着服务器上的服务,服务器上的服务如果对客户端提供服务,必须在TCP或UDP端口侦听客户端的请求。2.3 2.3 应用层协议应用层协议 2.3.1 应用层协议和传输层协议关系 传输层的协议TCP或UDP加上端口就可以标识一个应用层协议,TCP/IP协议中的端口的范围是从0 到65535。端口作用:一台拥有IP地址的主
10、机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。2.3 2.3 应用层协议应用层协议 2.3.1 应用层协议和传输层协议关系服务器一般都是通过知名端口号来识别的。对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1102
11、3之间的端口号。知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。2.3 2.3 应用层协议应用层协议 HTTP默认使用TCP的80端口标识FTP默认使用TCP的21端口标识SMTP默认使用TCP的25端口标识POP3默认使用TCP的110端口HTTPS默认使用TCP的443端口DNS使用UDP的53端口远程桌面协议(RDP)默认使用TCP的3389端口telnet使用TCP的23端口Windo
12、ws访问共享资源使用TCP的445端口 2.3 2.3 应用层协议应用层协议2.3.2 应用层协议和服务的关系 应用层协议代表的是服务器上的服务。不管是Windows XP还是Windows 7,无论是Windows Server 2003还是Windows Server 2008都有内置的一些服务。这些服务有的是为本地计算机提供服务的,比如停止了Network Connections服务,你就不能打开网络连接修改IP地址有的是为网络中的其他计算机提供服务,这类服务使用TCP或UDP的特定端口侦听客户端请求。2.3 2.3 应用层协议应用层协议Server服务器安装了Web服务、FTP服务、S
13、MTP服务和POP3服务。Web服务在TCP的80端口侦听客户端请求,SMTP服务在TCP的25端口侦听客户端的请求,POP3在TCP的110段侦听客户端请求,FTP在TCP的21端口侦听客户端请求。ClientA访问Server的Web服务,数据包的目标端口为80,ClientB访问Server的FTP服务,数据包的目标端口为21。这样服务器Server就可以根据数据包的目标端口来区分客户端要请求的服务。总结:数据包中的目标IP地址用来定位服务器,而数据包中的目标端口用来定位服务器上的服务。2.3 2.3 应用层协议应用层协议2.3.3示例:查看远程桌面侦听的端口 本实例将会在Server上
14、启用远程桌面,来查看远程桌面侦听的端口。运行netstat an可以看到在TCP和UDP侦听的端口 输入netstat anb还可以看到侦听端口的进程或程序启用远程桌面查看打开的3389端口 2.3 2.3 应用层协议应用层协议2.3.4示例:端口冲突造成服务启动失败服务器上的服务侦听的端口不能冲突。否则将会造成服务启动失败。例如:某家公司的网站不能访问了,操作系统是Windows2003。当点击“开始”“程序”“管理工具”“Internet信息服务管理器”,发现该Web站点停止,右击默认站点,点击“启动”,启动服务出现错误。2.3 2.3 应用层协议应用层协议 Web站点默认使用80端口,但
15、哪个程序占用了这个端口呢?需要通过Netstat aonb 这个命令查看侦听的端口以及侦听端口的进程号和应用程序名字.通过上图可发现Web迅雷占用了80端口,这可以造成服务器Web服务启动失败。2.42.4应用层协议和服务应用层协议和服务 下面就以Web服务、FTP服务、SMTP服务、POP3服务、远程桌面服务和DNS服务为例,帮助读者理解传输层协议和应用层协议的关系,并深刻理解服务和应用层协议之间的关系。通过更改服务侦听的端口,可以迷惑入侵者,入侵者通过端口扫描工具,查看服务器侦听的端口,就可以判断服务器运行的服务。如果你的服务器只对内网的用户提供服务,或者不对Internet上的用户提供服
16、务,你都可以更改服务不适用默认端口,这样可以迷惑攻击者,增加服务器的安全。2.42.4应用层协议和服务应用层协议和服务点击“开始”“设置”“控制面板”,在出现的控制面板对话框,点击“添加或删除程序”。在出现的添加或删除程序对话框,点击“添加/删除Windows组件”。根据实验手册将Web服务、FTP服务、SMTP服务、POP3服务和DNS服务安装好。安装完成后,在命令提示符下,输入netstat an 可以查看安装的服务侦听的端口。2.42.4应用层协议和服务应用层协议和服务2.4.2配置FTP服务器 FTP(File Transfer Protocol文件传输协议),用于Internet上的
17、控制文件的双向传输,它也是一个应用程序。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机,察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。2.4.2配置FTP服务器该节对应实验手册将会在Server上创建一个允许匿名访问的FTP站点,允许上传和下载。2.42.4应用层协议和服务应用层协议和服务2.4.3配置Web服务器 Web服务器使用HTTP和客户端通信,默认使用TCP的80端口侦听客户端的请求。超文本传输协议(HTTP,HyperTex
18、t Transfer Protocol)是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。2.4.3配置Web服务器以下步骤将会创建一个Web站点。然后在客户端使用默认端口80访问Web站点,更改Web站点端口为8080,并在客户端使用8080访问Web站点。2.42.4应用层协议和服务应用层协议和服务2.4.4配置SMTP服务和POP3服务 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。S
19、MTP协议属于TCPIP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把Email寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。2.42.4应用层协议和服务应用层协议和服务2.4.4配置SMTP服务和POP3服务 POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机,同时根据客户端
20、的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议是TCP/IP协议族中的一员。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。2.4.4配置SMTP服务和POP3服务该节对应实验手册将会配置Server上的SMTP服务和POP3服务,并且在Client计算机上配置邮件服务器客户端Outlook Express,收发电子邮件。该实验要完成的任务如下:配置POP3服务,创建邮箱。配置SMTP服务,创建远程域,允许将电子邮件发送到Internet。配置服务器和和客户端不使用默认的端口收邮件。2.42.4应用层协议和
21、服务应用层协议和服务2.4.5 启用远程桌面且更改默认端口 无论Windows XP和Windows7还是Windows Server2003和Windows Server 2008,都提供了远程桌面服务。启用远程桌面后,就可以允许远程计算机通过网络连接到计算机,进行远程管理。有些服务没有提供更改端口的界面,比如远程桌面服务就没有提供更改端口的界面,远程桌面服务可以通过更改注册表更改端口。但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。2.4.5 启用远程桌面且更改默认端口下面将会演示在Server上启用远程桌面
22、,在Client上使用mstsc连接Server。然后根据实验手册将远程桌面服务的侦听的端口由默认的3389更改为4000。2.42.4应用层协议和服务应用层协议和服务2.4.6 配置DNS服务器 DNS 是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet 等 TCP/IP 网络中
23、,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。2.4.6 配置DNS服务器该节实验手册将会演示配置企业自己的DNS服务器负责解析内网服务器的域名和Internet域名。DNS服务器默认有根提示,指向了Internet的根DNS服务器,内网的DNS服务器只要能够连接Internet就能解析Internet网站的域名。2.52.5配置服务器网络安全配置服务器网络安全 以上介绍了应用层协议
24、和传输层协议的关系,应用层协议和服务的关系。现在进一步介绍如何使用这些知识配置服务器安全。现在介绍Windows防火墙防止主动入侵,配置服务器的TCP/IP筛选保护服务器的安全,使用IPSec严格控制进出服务器的流量。2.5.1端口扫描 黑客打算攻击网络上的服务器,首先使用端口扫描工具,扫描服务器侦听的端口,这样入侵者就能根据扫描到的端口,知道服务器运行的服务,就可以尝试使用专门的攻击工具入侵服务器的某个服务。本节实验手册演示在Client使用端口扫描工具ScanPort扫描服务器Server端口。2.5.2使用telnet排除网络故障 如果员工告诉你,他的计算机不能访问网站。你需要断定是他的
25、计算机系统出了问题还是IE浏览器中了恶意插件,或者是网络层面的问题。通过Telnet 服务器的某个端口,就能断定是否访问该服务器的某个服务。如果你没有端口扫描工具,使用Telnet测试远程服务器侦听的端口,在命令提示符下输入telnet IPAddress 80 如果telnet成功将会和服务器在该端口建立会话,再打开命令提示符,可以看到输入netstat n可以看到建立的会话。下图是telnet端口失败的例子失败可能的原因有远程计算机防火墙没有打开相应的端口,或远程服务器没有启动该端口对应的服务,或服务器和客户机之间的路由器拦截了到服务器特定端口的数据包。不管什么原因,telnet特定端口失
26、败,就意味着你不能访问远程服务器上的那个服务。如果Telnet 80能够成功,而你的IE浏览器打不开该网址,说明是你的IE浏览器或计算机出现问题即应用层出现问题,不是网络问题。2.5.3Windows2.5.3Windows防火墙的保护客户端安全防火墙的保护客户端安全 WindowsXP、Vista和Windows 7都属于工作站操作系统,即安装在用户工作或娱乐用的计算机操作系统。对于普通使用者来说,要想从网络层面保护计算机安全,最好启用Windows防火墙。Windows 防火墙只阻截所有传入的未经请求的流量,对主动请求传出的流量不作理会。如果在网络层不做任何防护,入侵者只要知道了你的计算机
27、的管理员账号和密码,就能主动入侵你的系统。2.5.3Windows2.5.3Windows防火墙的保护客户端安全防火墙的保护客户端安全 现在使用“DameWare 迷你远程控制”来验证Windows防火墙的作用。实验步骤如下:关闭WindowsXP的防火墙入侵者使用DameWare 迷你远程控制入侵Windows XP启用WindowsXP防火墙入侵者入侵失败2.5.42.5.4使用使用TCP/IPTCP/IP筛选保护服务器安全筛选保护服务器安全 对于部署在Internet的服务器,安全是必须要考虑的事情。为了降低服务器受攻击危险,停掉不必要的服务或在本地连接的TCP/IP属性只开必要的端口。
28、本节对应实验配置Server的TCP/IP筛选只允许TCP目标端口为80和21的数据包进入、只允许UDP目标端口为53的数据包进入。2.5.52.5.5使用使用IPSecIPSec保护服务器安全保护服务器安全 不管是在WindowsXP上启用防火墙还是WindowsServer配置TCP/IP筛选,都不能严格控制出去的流量。因此如果你的服务器中了木马程序,比如中了灰鸽子木马程序,该程序会主动连接入侵者建立会话,入侵者就能监控和控制你的服务器了。最大化配置服务器网络安全,你可以严格控制进出服务器的流量,比如你的服务器是Web服务器,你可以配置只允许TCP的目标端口80的数据包进入服务器,TCP的
29、源端口为80的数据包离开服务器。这样即便你的服务器中了灰鸽子木马程序,也不能主动连接入侵者。这可以通过配置服务器IPSec来实现。WindowsXP,Windows Server 2003和Windows Server 2008都支持IPSec。2.5.52.5.5使用使用IPSecIPSec保护服务器安全保护服务器安全 本节的实验就通过IPSec配置Web服务器安全,防止灰鸽子木马程序。实验内容如下:入侵者制作木马程序在Server上启用Windows防火墙安装木马程序,入侵者远程控制服务器。配置IPSec,只允许TCP的目标端口为80数据包进入服务器,只允许TCP的源端口为80的数据包离开
30、服务器。验证木马程序不能连接入侵者。2.5.52.5.5使用使用IPSecIPSec保护服务器安全保护服务器安全结论:Windows防火墙能够禁止主动入侵,但是对木马没有防护作用。Windows的TCP/IP筛选和Windows防火墙类似,能够禁止主动入侵,但是对木马没有防护作用。要想使用严格控制出入服务器的流量,就可以使用IPSec实现。2.62.6网络层协议网络层协议 在TCP/IP协议栈中网络层有四个协议IP、IGMP、ICMP和ARP协议。在下面的小节中,我们将描述在因特网层上的协议:因特网协议(IP)因特网控制报文协议(ICMP)地址解析协议(ARP)逆向地址解析协议(RARP)代理
31、ARP2.62.6网络层协议网络层协议2.6.1IP协议IP是英文Internet Protocol(网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。2.6.1IP2.6.1IP协议协议因特网协议(IP)其实质就是因特网层,其他的协议仅仅是建立在其基础之上用于支持IP协议的。相互通信的计算机和网络设备必须统一规划网络层地址,即IP地址。IP关注每个数据包的地址,网络层设备通过使用路由
32、表,IP可以决定一个数据包将发送给哪一个被选择好的后续最佳路径,那些动态路由协议(RIP、EIGRP和OSPF协议都是IP协议)。处于DoD模型底部的网络接口层协议不会关心IP在整个网络上的工作,它们只处理(本地网络的)物理链接。下面介绍一下计算机下面介绍一下计算机A A和计算机和计算机B B通信过程。通信过程。计算机计算机A A和计算机和计算机B B通信过程通信过程1.A计算机首先判断B计算机的IP地址和自己的IP地址是否在一个网段,即网络部分是否相同,发现不在一个网段,数据包应该发送给有Router1,再有Router1转发。2.计算机A配置了网关10.0.0.1,A计算机发出去的数据帧源
33、IP地址为10.0.0.2,目标IP地址为12.0.0.2,源MAC地址为M1,目标MAC地址为M2。这样交换机SW1将会这个根据MAC地址表将数据帧转发到路由器Router1的接口。3.路由器Router1查看数据包的目标IP地址,根据路由表,决定数据包下一跳应该发往何处。本示例Router1将数据包转发到Router2。Router1将数据帧的目标MAC地址更改为M4,源MAC地址更改为M3,这样Router2就能接受该数据帧。4.同样路由器Router2接收到数据帧后,查看数据包的目标IP地址,根据路由表转发,数据帧的源MAC地址更改为M5,目标MAC地址更改为M6。这样数据帧就能够被交
34、换机SW2转发到计算机B。数据包传输过程数据包传输过程 2.6.2*IP2.6.2*IP数据报的格式数据报的格式 一个IP数据报由首部和数据两部分组成,首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。2.6.2*IP2.6.2*IP数据报的格式数据报的格式构成IP报头的字段如下。版本 IP版本号。报头长度 32位字的报头长度(HLEN)。优先级和服务类型 服务类型描述数据报将如何被处理。前3位表示优先级位。总长度 包括报头和数据的数据包长度。标识 唯一的IP数据包值。标志 说明是否有数据被分段。分段偏移 如果数据包在装入帧
35、时太大,则需要进行分段和重组。分段功能允许在因特网上存在有大小不同的最大传输单元(MUT)。存活期(TTL)存活期是在数据包产生时建立在其内部的一个设置。如果这个数据包在这个TTL到期时仍没有到达它要去的目的地,那么它将被丢弃。这个设置将防止IP包在寻找目的地的时候在网络中不断循环。协议 上层协议的端口(TCP是端口6,UDP是端口17(十六进制)。同样也支持网络层协议,如ARP和ICMP。在某些分析器中被称为类型字段。报头校验和 只针对报头的循环冗余校验(CRC)。源IP地址 发送站的32位IP地址。目的IP地址 数据包目的方站点的32位IP地址。选项 用于网络检测、调试、安全以及更多的内容
36、。数据 在IP选项字段后面的就是上层数据类型字段是很重要的,它实际上是一个协议字段,在这里,分析仪将它视为IP类型字段。如果在数据包的报头中没有为下一层载有这个协议信息,IP将不知道在本数据包中被装载的数据是用来做什么的。在这个示例中,协议字段的内容告诉IP将此数据发送给TCP的端冂6或UDP的端口17(两个都是十六进制地址)。然而,如果数据是一个前往上层服务或应用程序的数据流中的一部分,则这个数据就只是一个UDP或TCP段。这个数据也可以简单地被指定为因特网控制报文协议(ICMP)、地址解析协议(ARP),或一些其他类型的网络层协议。2.6.2 ICMP2.6.2 ICMP协议协议 ICMP
37、是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动返回相应的ICMP消息。在计算机上检测网络层故障经常用到的ping和pathping命令就是使用ICMP协议。下面介绍ping和pathping的使用。2.6.3ping2.6.3ping命令诊断网络故障命令诊断网络故障 PING(Packet Internet Gro
38、pe),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。如果你打开IE浏览器访问网站失败,你可以通过ping命令测试到Internet的网络连通,可以为你排除网络故障提供线索,下面展示ping命令返回的信息以及分析其原因。目标主机不可到达目标主机不可到达 目标网络不可到达目标网络不可到达 请求超时请求超时 通过延迟
39、评估网络带宽通过延迟评估网络带宽 2.6.4 Pathping2.6.4 Pathping跟踪数据包的路径跟踪数据包的路径 使用ping能够判断网络通还是不通,比如请求超时,你就不能判断什么位置出现的网络故障造成的请求超时。使用pathping命令能跟踪数据包的路径,能够查出故障点,并且能够计算路由器转发丢包率和链路丢包率以及延迟,据此能够判断出网络拥塞情况。在命令行下输入pathping 可以看到数据包到达目的地途经的路由器和计算的延迟和丢包率。丢包率有路由器转发丢包率,如图D处所示丢包率是路由器收到数据包后路径选择转发时的丢包率,转发丢包率高则表明这些路由器已经超载,表明路由器的处理能力不
40、够。还有链路丢包率,如图E处所示,是指的路由器B到路由器C链路上的丢包率,链路上的丢包率反应的是造成路径上转发数据包丢失的链路拥挤状态。2.6.52.6.5使用使用pathpingpathping判断网络故障点判断网络故障点 藁城水科院和正定水科院都与石家庄水科院连接,如图2-197所示,在藁城水科院部署了一台流媒体服务器,一天,正定水科院的人反映访问藁城的流媒体服务器点播视频非常不连贯。如果你是藁城水科院的网络管理员,如何断定是网络出现了网络拥塞还是流媒体服务器过载?2.6.52.6.5使用使用pathpingpathping判断网络故障点判断网络故障点出现问题的网络无外乎是藁城水科院局域网
41、、连接石家庄的A广域网、连接石家庄和正定的B广域网,以及正定水科院局域网。断定网络是否拥塞的办法就是,在正定水科院的计算机C上ping 藁城水科院的流媒体服务器的IP地址,如果响应时间很短,则网络没问题,有可能是否流媒体服务器的性能差造成响应客户端请求慢,从而造成的视频播放不连贯。如果有请求超时数据包或响应延迟超长,比如大于500ms,则有可能是网络拥塞造成的问题。然后使用pathping服务器的IP地址,根据pathping的结果查看那段网络丢包严重。就能断定那段网络拥塞。2.6.6 IGMP2.6.6 IGMP协议协议 Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协
42、议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。参与ip组播的主机可以在任意位置、任意时间、成员总数不受限制地加入或退出组播组。组播路由器通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者。而主机方只需要保存自己加入了哪些组播组。2.6.7 ARP2.6.7 ARP协议协议 地址解析协议(ARP)可以由已知主机的IP地址在网络上查找到它的硬件地址。计算机A和计算机B属于同网段的通信 2.6.7 ARP
43、2.6.7 ARP协议协议 计算机A和计算机C属于跨网段的通信。2.6.82.6.8局域网流量控制软件局域网流量控制软件 从以上描述可以看出ARP解析MAC地址,不进行任何验证,缓存的结果还可以被其他计算机重新修改,这就是一个很严重的安全漏洞。下面将会介绍利用ARP漏洞的一款局域网流量控制软件“P2P终结者”。P2P终结者是由Net.Soft工作室开发的一套专门用来控制企业网络P2P下载流量的网络管理软件。软件针对目前P2P软件过多占用带宽的问题,提供了一个非常简单的解决方案。软件基于底层协议分析处理实现,具有很好的透明性。软件可以适应绝大多数网络环境,包括代理服务器、ADSL路由器共享上网,
44、Lan专线等网络接入环境。P2PP2P终结者原理终结者原理P2PP2P终结者演示终结者演示下面就以同一个网段的两个计算机演示P2P终结者流量控制软件是如何控制网络流量的。现在使用“P2P终结者”控制Server上网带宽,展示MAC地址欺骗的过程。2.72.7使用捕包工具排除网络故障使用捕包工具排除网络故障 作为网络管理员,你可能会碰到访问Internet网速慢的问题,你要能够判断出是哪里出了问题,是局域网中有计算机发广播包堵塞了局域网,还是网络中有人使用BT下载软件或迅雷下载软件将广域网的带宽给占用了。你需要使用捕包工具来捕获网络中的数据包,通过分析网络中的数据包,排除网络故障。2.7.12.
45、7.1示例:查看谁在发广播包示例:查看谁在发广播包 给某单位调试网络,发现计算机ping网关时通时断,不能判断是硬件故障还是软件故障,但是看到交换机的所有端口指示灯疯狂闪烁,看样子在疯狂转发数据,初步判断网络中有广播包。到底哪台计算机在网上发送广播,需要使用抓包工具捕获网络中的数据包,通过查看数据包的源IP地址找到发送广播包的计算机。下面将会演示使用捕包工具捕获数据包,并且查看数据包的层次结构,数据链路层的内容,网络层的内容,传输层的内容和数据。排序数据包,保存捕获的数据包,打开捕获的数据包,查看网络中广播帧。下面演示使用ethereal-setup-0.99.0.exe抓包工具,分析数据包结构,保存数据包,打开保存的数据包。下面演示使用下面演示使用ethereal-setup-0.99.0.exeethereal-setup-0.99.0.exe抓包工具抓包工具 2.7.22.7.2捕包软件安装的位置捕包软件安装的位置