4.2 常用的网络命令
早期的操作系统没有现在的Windows窗口界面,用起来非常不方便。那时候使用的都是DOS(Disk Operation System)系统。目前,一些水平比较高的网络管理员或黑客还是用一些DOS指令。本节介绍一些常用的DOS操作命令或指令,这些命令分为内部命令和外部命令。外部命令就是一个可执行文件,需要有这个文件才能执行这样的命令;内部命令已经嵌入操作系统内核当中了,所以不用可执行文件任何地方都可以执行。下面是一些常用的内部命令和外部命令。
常用的内部命令有MD、CD、RD、DIR、PATH、COPY、TYPE、EDIT、REN、DEL、CLS、VER、DATE、TIME、PROMPT。
常用的外部命令有DELTREE、FORMAT、DISKCOPY、LABEL、VOL、SYS、XCOPY、FC、ATTRIB、MEM、TREE。
这些命令不区分大小写。运行这些命令时,可以回到DOS操作方式,如图4-13所示,可以在Windows操作系统的开始界面里输入“cmd”,再按〈Enter〉键就会进入DOS操作界面,如图4-14所示。
图4-13 运行DOS操作界面
图4-14 DOS操作界面
4.2.1 ping指令
ping是Windows、UNIX和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通(或者说检查两个计算机的网络层是否连通),可以很好地帮助我们分析和判定网络故障。
ping指令使用的是ICMP(Internet Control Messages Protocol)即因特网控制报文协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo(ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个网络管理员或者黑客,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接,时延是多少。
ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会大量远程执行ping命令抢占用户的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能,提供给用户进行选择。通常的情况下,如果不用作服务器或者进行网络测试,可以放心地选中它,以保护计算机。
单独在命令行中输入ping会出现ping命令的用法和所有参数,如图4-15所示。
图4-15 ping命令的用法和所有参数
ping命令的应用格式:①ping+IP地址或主机域名;②ping+IP地址或主机域名+命令参数;③ping+命令参数+IP地址或主机域名(注意,“+”要换成空格!)。当使用第①种格式时,默认只发送4个数据包。例如,ping一下www.baidu.com这个地址,如图4-16所示。61.135.169.125就是百度的其中一台主机的地址;“字节”表示发送数据包的大小,默认为32B;“时间”表示从发出数据包到接收到返回数据包所用的时间;TTL表示生存时间值,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
常用的还有直接ping一个IP地址,看看是不是能从网络层连接通过,如图4-17所示。
图4-16 ping百度的网址
图4-17 ping一个IP地址
ping命令的常用参数是-t、-a、-n conut、-l等几项。下面简单介绍几个参数的使用方法,读者感兴趣的话,可以在计算机上试试。
(1)-t表示不间断向目标地址发送数据包,直到强迫其停止。若要查看统计信息并继续发送数据包,则按下〈Ctrl+Break〉组合键。若要终止发送数据包,则按下〈Ctrl+C〉组合键。
(2)-n定义向目标地址发送数据包的次数。如果-t和-n两个参数一起使用,ping命令将以放在后面的参数为准,比如“ping IP-t-n 10”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 10次。
(3)-l定义发送数据包的大小,默认情况下是32B,利用它可以最大定义到65500B。
4.2.2 ipconfig指令
ipconfig命令主要是用来查看ip和mac地址,刷新DNS缓存,释放ip地址等,下面来看看ipconfig命令的几个主要用法。
(1)ipconfig:当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。如图4-18所示为ipconfig时不带任何参数的显示。
图4-18 ipconfig不带任何参数
(2)ipconfig/all:当使用all选项时,iponfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,ipconfig将显示DHCP服务器的IP地址和租用地址预计失效的日期。如图4-19所示为ipconfig/all命令使用图。
图4-19 ipconfig/all命令
其他一些参数简介如下。(也可以在DOS方式下输入ipconfig/?进行参数查询)
●ipconfig/release:DHCP客户端手工释放IP地址。
●ipconfig/renew:DHCP客户端手工向服务器刷新请求。
●ipconfig/flushdns:清除本地DNS缓存内容。
●ipconfig/displaydns:显示本地DNS内容。
●ipconfig/registerdns:DNS客户端手工向服务器进行注册。
●ipconfig/showclassid:显示网络适配器的DHCP类别信息。
●ipconfig/setclassid:设置网络适配器的DHCP类别。
●ipconfig/renew“Local Area Connection”:更新“本地连接”适配器的由DHCP分配IP地址的配置。
●ipconfig/showclassid Local*:显示名称以Local开头的所有适配器的DHCP类ID。
●ipconfig/setclassid“Local Area Connection”TEST:将“本地连接”适配器的DHCP类别ID设置为TEST。
4.2.3 netstat指令
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。netstat是一个非常实用的命令,可用于列出系统上所有的网络套接字连接情况,包括tcp、udp以及unix套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。netstat命令的常用参数如下。
●-a或--all:显示所有连线中的Socket。
●-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址。
●-c或--continuous:持续列出网络状态。
●-C或--cache:显示路由器配置的缓存信息。
●-e或--extend:显示网络其他相关信息。
●-F或--fib:显示FIB。
●-g或--groups:显示多重广播功能群组组员名单。
●-h或--help:在线帮助。
●-i或--interfaces:显示网络界面信息表单。
●-l或--listening:显示监控中的服务器的Socket。
●-M或--masquerade:显示伪装的网络连线。
●-n或--numeric:直接使用ip地址,而不通过域名服务器。
●-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称。
●-o或--timers:显示计时器。
●-p或--programs:显示正在使用Socket的程序识别码和程序名称。
●-r或--route:显示Routing Table。
●-s或--statistice:显示网络工作信息统计表。
●-t或--tcp:显示TCP传输协议的连线状况。
●-u或--udp:显示UDP传输协议的连线状况。
●-v或--verbose:显示指令执行过程。
●-V或--version:显示版本信息。
●-w或--raw:显示RAW传输协议的连线状况。
●-x或--unix:此参数的效果和指定“-A unix”参数相同。
●--ip或--inet:此参数的效果和指定“-A inet”参数相同。
例如图4-20为netstat-t命令,用地址显示TCP传输协议的连线状况。
图4-20 netstat-t命令
这些参数可以组合起来用。经常使用的是netstat-an命令,用来显示所有已经建立的有效连接,如图4-21所示。
图4-21 netstat-an命令显示所有建立的有效连接
4.2.4 net指令
net命令是一个命令行命令,net命令有很多函数用于使用和核查计算机之间的NetBIOS连接,可以查看我们的管理网络环境、服务、用户、登录等信息内容;可以在DOS环境下执行NET/?或NET或NET HELP获得使用帮助,如图4-22所示。所有Net命令接受选项/yes和/no(可缩写为/y和/n)。
图4-22 net命令的语法
下面介绍一些简单的net命令使用方法。
1.net view
作用:显示域列表、计算机列表或指定计算机的共享资源列表。
命令格式:net view[\\computername|/domain[:domainname]]
有关参数说明:
●键入不带参数的net view显示当前域的计算机列表。
●\\computername指定要查看其共享资源的计算机。
●/domain[:domainname]指定要查看其可用计算机的域。
例如:net view\\GHQ,查看GHQ计算机的共享资源列表。
net view/domain:XYZ,查看XYZ域中的机器列表。
2.net user
作用:添加或更改用户账号或显示用户账号信息。
命令格式:net user[username[password|*][options]][/domain]
有关参数说明:
●键入不带参数的net user查看计算机上的用户账号列表。
●username添加、删除、更改或查看用户账号名。
●password为用户账号分配或更改密码。
●提示输入密码。
●/domain在计算机主域的主域控制器中执行操作。该参数仅在Windows NT Server域成员的Windows NT Workstation计算机上可用。默认情况下,Windows NT Server计算机在主域控制器中执行操作。
例如:net user adm123查看用户adm123的信息。
3.net use
作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
命令格式:net use[devicename|*][\\computername\sharename[\volume]][password|*]] [/user:[domainname\]username][[/delete]|[/persistent:{yes|no}]]
有关参数说明:
●键入不带参数的net use列出网络连接。
●devicename指定要连接到的资源名称或要断开的设备名称。
●\\computername\sharename服务器及共享资源的名称。
●password访问共享资源的密码。
●*提示键入密码。
●/user指定进行连接的另外一个用户。
●domainname指定另一个域。
●username指定登录的用户名。
●/home将用户连接到其宿主目录。
●/delete取消指定网络连接。
●/persistent控制永久网络连接的使用。
例如:net use f:\\adm\TEMP将\\adm\TEMP目录建立为F盘
net use f:\adm\TEMP/delete断开连接。
4.net time
作用:使计算机的时钟与另一台计算机或域的时间同步。
命令格式:net time[\\computername|/domain[:name]][/set]
有关参数说明:
●\\computername要检查或同步的服务器名。
●/domain[:name]指定要与其时间同步的域。
●/set使本地计算机时钟与指定计算机或域的时钟同步。
5.net start
作用:启动服务,或显示已启动服务的列表。
命令格式:net start service
6.net pause
作用:暂停正在运行的服务。
命令格式:Net pause service
7.net continue
作用:重新激活挂起的服务。
命令格式:Net continue service
8.net stop
作用:停止Windows网络服务。
命令格式:net stop service
4.2.5 tracert指令
tracert是一个简单的网络诊断工具命令,可以列出分组经过的路由节点,以及它在IP网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多种——传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一。)
tracert的使用方法可以使用tracert-?来查看,如图4-23所示。
图4-23 tracert的使用方法
如图4-24所示为使用tracert命令来追踪www.sina.com.cn网站。
上面命令执行结果的说明:
●tracert命令用于确定IP数据包访问目标所采取的路径,显示从本地到目标网站所在网络服务器的一系列网络节点的访问速度,最多支持显示30个网络节点。
●最左侧的1~11,表明在作者使用的网络上,经过10(不算自己本地的)个路由节点,可以到达新浪网站;如果网络不同,则到达的站点可能不同;其他的IP,也有可能不同。感兴趣的读者可以自行测试一下。
●访问单位是ms,表示连接到每个路由节点的速度、返回速度和多次。连接反馈的平均值。
图4-24 用tracert命令来追踪www.sina.com.cn网站
●后面的IP,就是每个路由节点对应的IP。
●如果返回消息是超时,则表示这个路由节点和作者使用的宽带,是无法连通的,至于原因,就有很多种了。比如,作者特意在路由上做了过滤限制,或者确实是路由的问题等,需要具体问题具体分析。
●如果在测试的时候,返回大量*和超时信息,则说明这个IP在各个路由节点都有问题。
●一般10个节点以内可以完成跟踪的网站,访问速度都是不错的;10~15个节点之内才完成跟踪的网站,访问速度则比较慢;如果超过30个节点都没有完成跟踪,则可以认为目标网站是无法访问的。