实验简介 一般网络管理命令的原理就是在建立连接通道,然后发送一些测试数据包,对方接受后返回信息,而这个返回数据包包含一些网络状况的相关信息。常用的网络管理命令有netstat 命令、arp命令、tracert命令和route命令。
一.NETSTAT命令
(1) 简述NETSTAT 命令的原理和作用; Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接。 (2) NETSTAT 最常用的选项如下,分别执行下列命令,保存实验结果截图,并对图中内容的含义进行解释:
a) Netstat
协议 协议名,图中均为tcp协议 本地地址 127.0.0.1:49439:表示监听本机的loopback地址的49439端口。如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问 外部地址 与本机端口通信的外部socket。显示规则与 Local Address 相同 状态(图中出现的有下列的4,6,9,10) 链路状态,共有11种。state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。
状态参数主要有: 1) LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN。来自远方TCP端口的连接请求 2) SYN_SENT:客户端通过应用程序调用connect进行active open。于是客户端tcp发送一个SYN以请求建立一个连接,状态置为SYN_SENT。在发送连接请求后等待匹配的连接请求 3) SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN,状态置为SYN_RECV。在收到和发送一个连接请求后等待对连接请求的确认** 4) ESTABLISHED**:代表一个打开的连接,双方可以进行或已经在数据交互了。代表一个打开的连接,数据可以传送给用户 5) FIN-WAIT-1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态。等待远程TCP连接中断请求,或先前的连接中断请求的确认 6) CLOSE-WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT。等待从本地用户发来的连接中断请求 7) FIN-WAIT-2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2。从远程TCP等待连接中断请求 8) LAST-ACK:被动关闭端一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK,这就进入了LAST-ACK。等待原来发向远程TCP的连接中断请求的确认 9) TIME-WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。等待足够的时间以确保远程TCP接收到连接中断请求的确认 10) CLOSING:比较少见。等待远程TCP对连接中断的确认 11) CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态。链接结束,没有任何连接状态 12) UNKNOWN:未知的Socket状态
b) netstat -s 本选项能够按照各个协议分别显示其统计数据。
其中的统计数据有IPv4 统计信息、IPv6 统计信息、ICMPv4 统计信息、ICMPv6 统计信息、IPv4 的 TCP 统计信息、IPv6 的 TCP 统计信息、IPv4 的 UDP 统计信息、IPv6 的 UDP 统计信息。
c) netstat -e 本选项用于显示关于以太网的统计数据。
它列出的项目包括传送的数据报的总字节数错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项能够用来统计一些基本的网络流量。
d) netstat -r 本选项可以显示关于路由表的信息,还显示当前有效的连接。
第一部分是接口列表,第二部分是ipv4路由表,第三部分是ipv6路由表。
e) netstat -a 本选项显示一个所有的有效连接信息列表
本选项显示一个全部的有效链接信息列表,包括已创建的链接(ESTABLISHED),也包括监听链接请求(LISTENING)的那些链接。
f) netstat -n 显示所有已建立的有效连接, 阐述:本命令和netstat -a的区别是什么?
netstat -a 显示所有端口,包括正在监听的。 netstat -n 以数字形式显示地址和端口号。 netstat -an 来显示所有连接的端口并用数字表示。
二.ARP命令
(1) 简述ARP 命令的原理和作用; 地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。简单来说ARP 实现由 IP 地址得到 MAC 地址。
(2) ARP 命令 最常用的选项如下, 分别简述下列命令的作用,执行下列命令,保存实验结果截图,并对图中内容的含义进行解释:
a) arp-a 简述该命令的作用
用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARp高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。 可以清楚了解到ip地址对应的mac地址是哪台设备。自动在缓存中,读取IP地址和mac地址的对应关系表。而静态就是arp表里手动绑定的,动态就是通过arp广播和应答获得的。
b) arp -a ip 简述该命令的作用
显示特定 IP 地址的 ARP 缓存项。 ip 192.168.204.255 对应的物理地址为ff-ff-ff-ff-ff-ff
c) arp-v 简述该命令的作用
显示详细的arp缓冲区条目,包括缓冲区条目的统计信息。即在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。(截图为一小部分,因为无效的还挺多的)
d) arp –d 简述该命令的作用
当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。除了可以删除一条,其实如果想彻底清空ARP列表,也可以用*代替具体ip,同时需要禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。 删除前先查看IP,选中第一条:192.168.204.255,然后输入arp -d -192.168.204.255,再次查看输入arp -a,原本的第一条IP已经被删除了。
三.TRACERT命令
(1) 简述TRACERT 命令的原理和作用;
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据包访问目标所采取的路径。Tracert 命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
(2) tracert命令最常用的选项如下, 分别简述下列命令的作用,执行下列命令,保存实验结果截图,并对图中内容的含义进行解释:
a) tracert 简述该命令的作用
DNS自动将域名转换为IP地址,查出途径的路由器信息 带*号的信息表示该次ICMP包返回时间超时 从左到右的5条信息分别代表了“生存时间”(每途经一个路由器结点自增1)、“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)和“途经路由器的IP地址”(如果有主机名,还会包含主机名)。
b) tracert -d 简述该命令和tracert的区别
tracert –d 目标ip地址,加-d参数,该命令就不再解析主机名,返回结果中也就没有主机名的信息。
c) Tracert –h maximum_hops
设置最大跟踪跃点数,超过的不再展示。
d) Tracert –j host-list
指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。即 与主机列表一起的松散源路由(仅适用于 IPv4)。 图中的ip地址是实验主机的IP地址。
e) Tracert –w timeout
在“tracert”命令与IP地址或URL地址中间输入“-w”,并在之后添加一个数字,可以指定tracert为每次回复所指定的毫秒数。
f) Tracert -4
强制使用 IPv4。
四.route命令
(1) 简述route 命令的原理和作用;
Route命令可以在数据包没有有效传递的情况下,利用route命令查看路由表;如果traceroute命令揭示出一条异常或低效的传输路径,则可以用route命令来确认为何选择该路径,而且可以配置一个更有效的路由。
(2) route命令最常用的选项如下, 分别简述下列命令的作用,执行下列命令,保存实验结果截图,并对图中内容的含义进行解释:
a) route print
用于显示路由表中的当前项目。 打印有三个部分,接口列表,ipv4和ipv6。
b) route add
可以将信任路由项目添加给路由表route add 命令的主要作用是添加静态路由,通常的格式是:route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC IF2。
route add 134.105.0.0 mask 255.255.0.0 134.105.64.1 意思是:所有需要发往134.105.0.0/16地址段的 IP 数据包,全部由134.105.64.1路径转发。 参数含义: route add destination mask gateway metric interface destination 【网段地址】 mask 【子网掩码】 gateway 【网关地址】 metric 【路由跳数】 if 【端口号】 一般情况下,不涉及本机地址,除非做测试。 其中:可以省略【路由跳数】参数;当通往该网关地址的路径唯一时,【端口号】参数可以省略。(因为在多端口的路由交换设备上,可能存在通往同一个 IP 地址的多条备份路径。) mask 是关键字,不能省略。
c) route change
修改数据的传输路由,但不能改变数据的目的地。 要将目标为 134.105.0.0,子网掩码为 255.255.0.0 的路由的下一个跃点地址由 134.105.64.1,更改为134.105.64.2。(对刚才添加的路由进行更改)
d) route delete
从路由表中删除路由。要删除目标为134.105.0.0,子网掩码为 255.255.0.0 的路由,请键入:route delete 134.105.0.0 mask 255.255.0.0,要删除 IP 路由表中以 134. 开始的所有路由,请键入:route delete 134.*。 删除目标为134.105.0.0,子网掩码为 255.255.0.0 的路由,即刚才添加的路由。 以上步骤如遇到 “请求的操作需要提升”的提示,则需要以管理员命令运行。
五.思考问题
(1) Arp -a www.baidu.com 是否能成功运行并得到结果?为什么?先用nslookup 查找www.baidu.com的IP地址,然后arp -a baidu的IP地址,是否能成功运行并得到结果?为什么?
Arp -a www.baidu.com 不能成功运行并得到结果。因为参数应为IP地址。 查找到百度IP地址为39.156.66.18。arp -a 39.156.66.18,也不能成功运行。因为ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等,是对局域网而言的。百度网站并不在arp缓存中。 (2) 如何利用ping命令解决网络连通性故障? 网络连通性故障:局域网内电脑不能上网大致可分以下四个原因,系统的IP设置、网卡、路由器网关和线路故障。排除硬件及线路的故障问题,我们可以利用Ping命令来快速检测网络状况。
第一步:在DOS里输入Ping 127.0.0.1,该地址是本地循环地址,如发现本地址无法Ping通,就表明本地机TCP/IP协议不能正常工作,此时应检查本机的操作系统安装设置。如果上面的操作成功,进入第二步进行排除。 第二步:输入IPConfig来查看本地的IP地址,然后Ping该IP(如本实验的IP地址192.168.2.108),如果不通则是网络适配器出现故障,可尝试更换网卡或驱动程序。通则表明网络适配器(网卡或MODEM)工作正常,进入第三步。 第三步: Ping一台同网段计算机的IP,不通则表明网络线路出现故障;若网络中还包含有路由器,则应先Ping路由器在本网段端口的IP,不通则此段线路有问题,应检查网内交换机或网线故障。如果内网计算机能ping通,进入第四步。 第四步:Ping网关(如192.168.2.1)不通,则是路由器出现故障,可更换连接路由器的网线,或用网线将PC机直接连接至路由器。如能ping通,则应检查路由器至交换机的网线故障,如无法ping通,可尝试更换计算机再ping,若还不能ping通,则应检查路由器故障。 第五步:如果到路由器都正常,可再检测一个带DNS服务的网络,在上一步Ping通了目标计算机的IP地址后,仍无法连接到该机,则可Ping该机的网络名,比如Ping www.sina.com.cn,正常情况下会出现该网址所指向的IP,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障;同样也可通过Ping计算机名检测WINS解析的故障(WINS是将计算机名解析到IP地址的服务)。 如果以上五步ping测试都没有问题,那么认为网络是正常的。
(3) 如何利用arp命令检测本机是否受到arp攻击?
同路由的用户,可能会因为网速问题使用各种网络控制软件,对局域网内的其他用户进行 ARP 断网攻击,导致内网下所有用户都不能正常上网。发生这种情况,我们需要检查本机是否受到局域网 ARP 攻击。
第一步:首先诊断是否为 ARP 病毒攻击。当发现上网明显变慢,或者突然掉线时,我们可以用: arp - a 命令来检查 ARP 表。在DOS窗口中输入: arp - a 命令。检查 ARP 列表。如果发现网关的 MAC 地址发生了改变,或者发现有很多 P 指向同一个物理地址,那么肯定就是 ARP 欺骗所致。 第二步:确定为ARP欺骗攻击以后,可以通过 arp - d 清除 arp 列表,重新访问。这仅仅是临时解决了上网问题,并没有彻底解决病毒主机。所以进行第三步。 第三步:找出 ARP 病毒主机。通过上面的 arp - a 命令,可以判定改变了的网关 MAC 地址或多个 IP 指向的物理地址,就是病毒机的 MAC 地址。不过仅仅有Mac地址还不行。需要进行第四步。 第四步:我们要根据这个Mac物理地址找出其IP地址,在 Windows 中可以通过 ipconfig / al 命令查看每台主机的信息。或者这时在客户机运行路由跟踪命令,马上就可以发现第一条不是网关机的内网 IP ,而是本网段内的另外一台机器的 IP ,再下一跳才是网关的内网 IP 。(正常情况,路由跟踪执行后的输出第一条应该是默认网关地址。因此可以判定第一跳的非网关IP地址的主机就是问题的根源。) 第五步:最后,可以把一台机器的 IP 地址设置成与病毒主机相同,然后造成 IP 地址冲突,使该主机报警然后找到这个主机。
(4) 详细记录实验过程当中遇到的具体问题及阐述自己的解决方法。 ① 遇到 “请求的操作需要提升”的提示 需要以管理员命令运行。 ② 参数不符合要求和参数的位置不正确。 通过看老师的ppt并查阅网上资料,了解了参数的正确用法,不过有的命令查不到很多资料,这个倒有些困惑。
六.参考资料
1.arp命令 2. route命令详解 3. 网络联通问题排除步骤 4. arp攻击检测
|