利用ipconfig命令获取本地网络信息
ipconfig命令是调试计算机网络的常用命令,通常大家使用它显示计算机中网络适配器的IP地址、子网掩码及默认网关。
ipconfig/all命令显示所有网络适配器(网卡、拨号连接等)的完整TCP/IP配置信息。
ipconfig/release 释放当前IP(适用于由DHCP自动获取IP的情况)
ipconfig/renew 重新获取IP(适用于由DHCP自动获取IP的情况)
ipconfig/displaydns 显示当前主机DNS缓存中的内容
ipconfig/flushdns 清空DNS缓存
利用ping命令获取远程网络信息
检查网络是否畅通或者网络连接速度。
原理:网络上的机器都有唯一确定的IP地址,我们给目标IP地址(或域名,域名会经DNS服务器解析为IP地址)发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。
简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。
ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。
此外,通过返回的TTL值还可以获悉对方主机的操作系统类型。
1)WINDOWS NT TTL初始值:128
2)WINDOWS 95/98 TTL初始值:32
3)UNIX TTL初始值:255
4)LINUX TTL初始值:64或255
//注:在命令行模式下输入“ping /h”即可得到ping的命令介绍,其他命令通过在命令名称后空格加”/h”也可得到相关使用帮助。
ping (ip地址) -t表示不间断向目标IP发送数据包,直到我们强迫其停止(可按下Ctrl+C进行终止)。
ping -l定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。
注意:随着防火墙功能在网络中的广泛使用,当你使用过大的包ping其他主机时,有可能因数据包被拦截或丢弃而显示超时或主机不可达。
如:ping www.baidu.com –l 100 和 ping www.baidu.com –l 10000的结果会有所不同。
ping -n 定义向目标IP发送数据包的次数,默认为4次。如果网络速度比较慢,定义1次即可。
这里time=36ms表示从发出数据包到接受到返回数据包所用的时间是36毫秒,从这里可以判断网络连接速度的大小。
通常利用ping命令可以快速查找网络故障(如:ping DNS、网关、本机ip、目标地址等),也可以快速判断服务器连接速度。如果目标服务器安全防护性能差且出口带宽窄,也可能被攻击者通过ping进行攻击。
下面给出一个典型的检测次序及对应的可能故障:
①ping 127.0.0.1,如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。
②ping 本机IP地址,如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。
③ping局域网内其他IP,如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。
④ping 网关IP,这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。
⑤ping 远程IP ,如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
⑥ping localhost,localhost是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。
⑦ping www.baidu.com(或其他著名网站域名),对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或它所访问的DNS服务器有故障。
如果上面所列出的所有ping命令都能正常运行,那么计算机进行本地和远程通信基本上就没有问题了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
ping命令除了可以测试网络联通性外还可以探测网络中的哪些主机存在。下面一段批处理代码实现的功能就是利用ping命令批量探测某网段的主机IP。
@echo off
set /p ip="请输入IP地址段,格式如:"192.168.1." >>> "
for /L %%i in (1,1,254) do (
Ping.exe -n 1 -l 16 -w 100 %ip%%%i>>ipscan.txt
if not errorlevel 1 (echo %ip%%%i 可以ping通)
)
pause
其他常用网络命令
nslookup 命令
查看域名和IP的对应关系。它通常需要一台域名服务器来提供域名。
如:nslookup www.baidu.com 即为查看该网站服务器的ip地址。
2)netstat 命令
查看网络状态,可以了解网络当前的状态。netstat命令能够显示活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6、ICMPv6、通过IPv6的TCP以及UDP协议)。使用时如果不带参数,netstat显示活动的TCP连接。
netstat -a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。
这里可以看出本地机器正向远程计算机建立起了SMTP连接和FTP连接。
netstat -n:以点分十进制的形式列出IP地址,而不是象征性的主机名和网络名。
netstat -s:按照各个协议分别显示其统计数据。这样就可以看到当前计算机在网络上存在哪些连接,以及数据包发送和接收的详细情况等等。如果应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么可以用本选项来查看一下所显示的信息。仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat -e 显示以太网卡的统计数据。它列出的项目包括传送的数据包的总字节数、错误数、删除数、数据包的数量和广播的数量。这些统计数据既有发送的数据包数量,也有接收的数据包数量。使用这个选项可以统计一些基本的网络流量。
netstat -r 显示路由表。
tracert 命令
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,对了解网络布局和结构很有帮助,如果网络出现故障,就可以通过这条命令查看出现问题的位置。
输出有5列:
第一列是描述路径的第n跳的数值,即沿着该路径的路由器序号;
第二列是第一次往返时延;
第三列是第二次往返时延;
第四列是第三次往返时延;
第五列是路由器的名字及其输入端口的IP地址。
如果源从任何给定的路由器接收到的报文少于3条(由于网络中的分组丢失),traceroute在该路由器号码后面放一个星号,并报告到达那台路由器的少于3次的往返时间。
这里说明数据从本地机器传输到10.28.133.1的机器上,中间经过了10.28.132.1作为中转,说明这两台机器是不在同一段局域网内。
arp 命令
查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。
此外,使用arp命令可以人工方式设置静态的网卡物理地址/IP地址对,使用这种方式可以为缺省网关和本地服务器等常用主机进行本地静态配置,这有助于减少网络上的信息量。
按照缺省设置,ARP高速缓存中的项目是动态的,每当向指定地点发送数据并且此时高速缓存中不存在当前项目时,ARP便会自动添加该项目。
arp –a:用于查看高速缓存中的所有项目。
arp –d:删除所有动态arp表项。
arp –d IP:删除一个静态项目。
arp –s IP MAC:向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。