资源描述
实验一: Windows环境下常用网络命令
1 ipconfig
Windows环境下所有网络命令的测试均是在命令窗口下进行的。单击Windows系统的“开始”→“程序”→“附件”→“命令提示符”可以进入命令窗口(或按Windows键+R键,在运行框中输入cmd,然后单击“确定”按钮)。
ipconfig命令是计算机在使用过程中最常用的一个命令,主要是用来显示主机所有当前的TCP/IP网络配置值。有的主机是通过DHCP服务器自动获取IP地址接入网络的,有的主机是通过手工设定IP地址接入网络的。通过ipconfig命令,可以在DOS命令模式下直接看到主机的网络配置情况。
通过ipconfig命令可以查看到主机的IP地址、子网掩码(Subnet Mask)和默认网关(Default Gateway)。
2 ping
ping命令的全称是Packet Internet Grope,即因特网包探索器。Ping在网络中使用很广泛,一般用来测试源主机到目的主机网络的连通性。当网络不通时,一般可以通过该命令来检查和判断网络出现故障的原因。Ping命令通过调用ICMP(因特网控制报文协议),发送一份ICMP回显请求报文给目的主机,并等待返回ICMP回显应答。ping的一般用法是ping IP(域名)参数,通过ping /?命令可以详细显示以下参数列表:
ping命令在系统中被默认设置为连续发送4个问询数据包,也会得到4个回答数据包,连续4个来回,所以一共可以得到8条ICMP协议的数据包。
有时候需要在ping后面使用参数–t,举例:
ping –t
ping目的主机, ping命令会一直执行下去不会停止,直到按下Ctrl+C键才会退出ping命令。结合TCP报文段的首部结构,在其首部中含有URG控制比特位,如果给ping命令发送Ctrl+C指令要求停止执行ping操作。其实质是发出了一个TCP报文段的URG位被置1的报文,表明这是一个紧急指令要立刻执行。
127.0.0.1是每个主机系统内部设定的环回测试地址,可以通过ping命令来测试主机的TCP/IP协议是否安装和配置正确。
主机的TCP/IP协议安装和配置正确。在遇到网络故障时,可以用ping命令来大致检查故障出现的范围。一般都是先ping 127.0.0.1,如果畅通,就表明主机网络协议安装和配置正确;然后ping该网段内的某个指定IP,如果畅通,就表明该网段内都是畅通的;接下来ping该网段的出口网关(路由器和交换机)的地址,如果畅通,表明出口网关也没有问题;再继续ping外部的节点主机,依次类推。如果其他网络操作都正常,但就是不能浏览网页,则可以尝试ping当地的DNS服务器地址,检测DNS服务器是否存在故障。
如果ping不通对方主机,则返回信息是Request time out。如果发现不能够ping通某一个目的主机,则有可能该网络地址不存在,或是到达该网络的链路的确不通。也有例外情况,比如某个目的主机的确存在,而且到达该目的主机的链路的确是畅通的,但就是ping不通目的主机。
可以访问微软的官方网站,但是却不能ping通该网站,对于这种情况,要具体分析。可以这样理解:微软公司是全球知名公司,其门户网站肯定特别备受关注,很多人都想拿它作为测试或攻击的对象。出于安全考虑,对方主机可能已经设置了防火墙,不让ping数据包通过。Windows操作系统自带有禁止/允许ping数据包通过的选项,有些防火墙软件也有该选项设置。对于这种情况,ping不通目的主机其实是网络不通的一种假象,所以对于具体问题需要具体分析和综合考虑。
3 tracert
tracert是一个路由跟踪命令,主要用于测试从源主机到目的主机之间数据传递所经过的路径,进而诊断出源端和目的端之间的路由节点。tracert命令和ping命令一样,也是需要调用ICMP协议和ttl(生存时间)。
图是tracert原理的示意图。
源主机是wh,目的主机是sohu,用tracert命令来测试两者之间有多少个路由节点,并得到各个路由节点的地址。tracert命令使用ICMP协议,通过设置数据包的ttl来达到测试的目的。
tracert原理示意图
ttl在数据包中本来是被定义为数据报的生存时间的(这样定义的目的是为了防止数据包在网络中传递过程中兜圈子),即某个数据包在网络传递的过程中可以存活多长时间,时间以秒为单位。但在后来,在网络中数据传递都很快,都在秒的数量级之内,如果还是按照以前生存时间来定义,这样的定义就失去了意义。所以,在后来ttl就专门被定义成数据包可以经过的路由节点个数,即某个数据包在网络中传递最多可以经过ttl个路由节点。数据包在传递过程中,每经过一个路由节点,ttl就减小1,直到最后,数据包达到某一个路由节点,ttl减小到0,数据包不再往前传递。这时,该路由节点就会给源主机返回一个超时的消息,这样源主机就得到了该路由节点的IP地址。
4 nslookup
nslookup命令是一个DNS服务器查询命令,通过该命令,可以在DNS服务器中查询到某个主机域名对应的IP地址信息。
可以看到,在输入nslookup命令后,系统解析出的DNS服务器名称为,IP地址为10.100.100.18。该DNS服务器是作者所在学校校园网内部设置的DNS服务器。如果读者没有使用所在单位建立的内部DNS服务器,一般解析出的DNS服务器地址都是当地网络服务提供商的DNS服务器地址。
在>提示符下,输入要查询的主机的IP地址,举例:
>
Server:
Address: 202.103.24.68
Non-authoritative answer:
Name:
Addresses: 221.236.12.132, 221.236.12.133, 221.236.12.134, 221.236.12.135
221.236.12.136, 221.236.12.137, 221.236.12.138, 221.236.12.129, 221.236.12.130, 221.236.12.131
Aliases: ,
>
可以看到,在输入域名解析提示符>下输入后,DNS服务器查询到搜狐服务器的IP地址有10个。把上面的10个IP地址都放置在网站中进行查询,可以确认这些IP地址的确是的IP地址。搜狐网站是大型门户网站,现在大型的门户网站都有多个IP地址。
5 route
route命令是用于显示和操作主机的网络路由表,主要参数列表如下。
l -f 清除所有网关项的路由表
l -p 与add命令一起使用时,主机重启后路由仍存在。默认情况下,主机重启路由不保留Command指定的还有下列命令:Print(在屏幕上打印输出路由)、Add(添加路由)、Delete删除路由)、Change(修改已经存在的路由)、Gatewany(指定网关)、Metic(指定代价)、Mask(指定子网掩码)
使用route print命令可以打印输出主机的路由列表。
6 nbtstat
nbtstat命令使用了TCP/IP协议的Netbios来显示协议统计和主机的TCP/IP连接,Netbios是IBM公司开发的网络基本输入/输出系统协议,主要用于200台主机以内的局域网中。微软公司在开发Windows操作系统的时候植入了这个协议,只要主机安装了TCP/IP协议,在局域网内就可以方便地实现消息通信和资源共享。Nbtstat命令的主要参数如下。
l -a 列出给定的远程计算机名
l -A 列出给定的远程计算机的IP地址
l -c 列出远程主机名和给定IP地址的NBT缓存
l -n 列出本地Netbios名
l -r 列出由WINS和广播解析出的主机名
l -R 清除并加载远程缓存的名称表
l -s 列出和目的地址的会话列表
l -S 列出和目的地址的会话列表,通过把IP地址转换成主机的Netbios名
使用nbtstat -an命令,可以显示本地连接主机的IP地址,主机名是M,所在的组是WORKGROUP,状态是Registered(注册)。
7 net
net命令可以说是Windows系统中功能非常强大的一个命令,很多的网络命令都是以net开头的。可以在各个参数提示下查看net命令的各种用法。其中,net start命令用于显示主机打开有哪些服务。net pause命令用于暂停某个服务,net stop命令用于停止某个服务。如果主机的名字很复杂,则可以使用net name命令给主机取一个简单方便的网络名,比如net name fox,给主机起网络名为fox。Net view命令用于显示局域网内所有在线的用户。net accounts命令用于显示目前账户的设置。
net send命令用于给局域网内主机发送消息,这是Windows系统自带的功能,在系统服务中有一个称为Messenger的信使服务。在没有安装其他即时通信聊天工具的情况下,使用Windows系统自带的Messenger的信使服务也可以在局域网内互相传递消息,不受外界条件的限制。
先启动Messenger服务,才可以使用net send的消息传递命令。在默认情况下,Messenger服务是禁用的,需要启动它之后才可以使用。启动的具体方法是:右键单击“我的电脑”,在弹出的“计算机管理”窗口中依次单击“管理”→“服务和应用程序”→“服务”,然后在右侧“服务”窗口中双击“Messenger”,在弹出的窗口中将“启动类型”选为“手动”,这样,信使服务就可以使用了。
8 netstat
netstat命令用于显示主机的TCP/IP网络连接并进行协议统计。该命令显示出在以太网中发送和接收数据的统计信息。这些信息包括接收到的总数据数、发送的总数据数、单播包数、非单播包数、出错包数、丢失包数等。
9 arp
arp的全称叫做address resolution protocol(地址解析协议),即是通过主机的IP地址解析出对应的物理地址。使用arp命令,可以显示和修改主机的IP地址与物理地址之间的转换表。arp协议可以让主机在本物理网络内查找其他主机的网卡地址,而且可以在主机上的arp缓存上查找最近收集的IP地址到网卡地址的地址映射表,从而避免arp广播的发生。另外,arp缓存也是动态变化的,在不同的时刻,主机收集到的其他主机的地址映射表可能会有所变化。
使用arp -h命令,可以了解arp的各个参数的用法,可以看到,主要的参数如下。
l -a 显示当前主机的arp缓存中的信息
l -g 和-a的用法一样
l -d 删除由inet-addr指定的主机
l -s 添加主机的静态地址映射,将IP地址与物理地址相对应,永久生效
近两年,在很多单位的局域网内部流行一种名为arp的病毒,这种病毒的危害能力非常强,一旦主机感染该病毒,就可能导致整个网络的网速下降甚至整个网络瘫痪。其实,该病毒就是利用了arp的工作原理来达到传播的目的。
染上arp病毒的主机会把自己的IP地址映射到网关的IP地址上,在局域网内大量发送arp广播包,声称自己是网关,这样同一网段内的其他主机就会误将其作为网关,纷纷修改以前正确的arp缓存列表。此后,其他主机的数据都改成通过感染该病毒的主机来转发。最终,所有的计算机都不能上网,但掉线后内网仍然是互通的。
对于arp病毒,可以采用以下方法解决:在网络正常时,通过arp -a命令查看网关IP对应的正确MAC地址,将其记录下来。如果已不能上网,则先运行一次arp -d命令将arp缓存中的内容清空,这样计算机就可以暂时恢复上网。在计算机恢复上网后,应该立即将网络断掉,禁用网卡或拔掉网线,然后运行arp -a命令,并记录网关的MAC地址。
如果计算机被攻击,运行arp -a命令,通过比较会发现,之前记录的正确的网关的MAC地址已经被替换成攻击计算机的MAC地址了。运行命令:arp -s网关IP 网关MAC,手工将网关IP和正确MAC绑定,可确保计算机不再受到攻击。记录刚才攻击计算机的MAC地址,可使用NBTSCAN软件找出网段内与该MAC地址对应的IP地址,即病毒计算机的IP地址。
展开阅读全文