目录:
常用网络命令(三)-- netstat 命令 和 tracert 命令
常用网络命令(五)-- nslookup, netsh, net
Windwos路由:route add命令详解
重点说明: Win下dos命令行内,使用ctrl + c 可以终止当前进程的运行
常用网络命令(一)-- ping操作
ping 就是检查网络是否连接
(一) 通过Ping检测网络故障的典型次序:
ping 127.0.0.1
这个Ping命令被送到本地计算机的IP软件。如果出错,则表示TCP/IP的安装或运行存在某些最基本的问题。
协议中,127.x.x.x 形式的地址指的是回送地址,表示的是立刻返回数据的地址一旦使用回送地址来发送数据,协议软件会立即回送,不进行任何网络传输。
回复信息里的TTL (Time To Live) 是生存时间值,是一个8 bit字段,所以取值范围是2^8-1,也就是[1,255]。这个数值指的是数据包在网络路由里的生存时间,数据包在转发路径上,每经过一个路由器,路由器就会把TTL的值减1,然后再继续转发出去。所以,当TTL减少到0的时候,路由器就会丢这个IP数据包,并且向IP包的发送者回送 ICMP time exceeded消息,也就是连接超时。
如果没有TTL,数据包如果一直找不到重点,就会在网络中无限循环收发,会浪费网络资源,所以设置TTL来保证有限次数内完成传输,失败则向发送者发出提示。
图中可以看到,TTL是128,由于是回送地址127.x.x.x 的ping,所以这里面是没有过路由器的,也就是本机设置的默认TTL是128.
ping 本机IP
这个命令被送到本计算机所配置的IP地址。如果出错,则表示本地配置或安装存在问题
先用ipconfig 命令查看本机ip,如果要查看全部详细信息,则用
ipconfig/all
IPv4 和 IPv6 是两种略有区别的地址,但是都是属于IP地址。因此两个地址都可以执行Ping
Ping本机地址也就是自己连接自己,也不需要经过路由,TTL不会减。如果Ping的是Ipv6, IPv6中不再使用TTL(Time to Live),而是用Hop Limit 跳转限制参数来控制转发,原理和TTL类似。
*ping 局域网内其他IP
这个命令经过本地计算机的网卡及网络电缆到达其他计算机,再返回。如收到回送应答,表明本地网络的网卡和载体运行正确。但如果收到0个回送应答,表示子网掩码不正确或网卡配置错误或电缆系统有问题。
如果局域网的网关是192.168.0.1,那么这个局域网的IP地址范围 就是192.168.0.100 到 192.168.0.254
如果对于局域网,不知道其他连入的电脑的ip,直接用一个循环遍历全部局域网ip进行ping操作即可。循环操作的命令如下:
for /L %i in (1,1,254) do ping -n 1 192.168.0.%i
如果想要把运行结果保存起来,则可以运行
for /L %i in (1,1,254) do ping -n 1 192.168.0.%i >>c:\ping.txt
把 c:\ping.txt 换成自己需要保存的文件目录即可
执行之后就会看到,有一些ip地址是能够有数据返回的。
从上面这个结果可以看到,不同的局域网IP的TTL貌似有比较大的出入,实际上都在局域网内进行ping,一般经过的路由数量并不大。那么形成不同TTL主要原因,是因为ping发出的时候 TTL是会进行调整的,一般情况是64,128,256这几个常用值。后面我们可以使用tracert命令,对24,33,90这三个局域网IP地址,追踪一下路由的跃点。
ping 网关IP
这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答
根据前面ipconfig/all 的命令拿到网关地址,执行ping命令即可。
*ping 远程IP
如收到4个应答,表示成功使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
然后ping一个连入公网的服务器ip。(服务器ip可以被用于攻击,所以应当避免直接暴露,服务器也可以设置禁止ping)
*ping www.yahoo.com
对某个主机名执行Ping命令,本地计算机必须先通过DNS 服务器将域名转换成IP地址。如果出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障。利用该命令实现域名对IP地址的转换功能。
ping网站的时候注意,ping后面加的是域名,不需要加http://的协议
*Ping命令的常用参数选项:
Ping IP –t 连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断
Ping IP -l m 指定Ping命令中的数据长度为m字节,缺省为32字节
Ping IP –n 执行特定次数的Ping命令,缺省为4次。
Ping /h Ping命令的参数用法查询
常用网络命令(二)-- IPConfig 操作
IPConfig
IPConfig 实用程序( 和 WinIPCfg )可用于显示当前的TCP/IP配置的设置值。这些值用来检验人工配置的TCP/IP设置是否正确。如果本地计算机和所在的局域网使用了动态主机。
配置协议,通过IPConfig可以了解计算机是否成功租用到一个IP地址,如果租用到则可以了解它目前分配到的是什么地址。
了解计算机当前IP地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。
常用命令为
ipconfig 查看配置
ipconfig /all 查看全部详情配置
ipconfig /release 释放归还IP地址
ipconfig /renew 重新租用地址
其中,下面的两条release renew命令只能在动态分配(向DHCP服务器租用IP地址)的计算机上起作用。如果计算机的IP不是由DHCP动态分配的,那么就无法执行这两条。Win10的网络设置中可以看到IP设置,IPV4协议中也可以调是否自动分配ip和自动分配dns地址。
*ipconfig /release
执行ipconfig /release 之后,计算机就会丢失掉自己的IP地址,默认是ipv4地址,可以看到执行前后的配置变化,执行完之后显示的配置信息没有了IPV4地址,查看全部配置信息则会看到连接已断开。
执行前后的配置对比见下图。
这时候如果打开浏览器访问,域名则会报dns错误,ip地址报unreachable地址不可达
恢复正常的方法是需要重新获取分配的ip地址,可以使用ipconfig /renew 重新租用地址。或者简单粗暴的断开网络连接,再重新连接即可。
ipconfig /renew
输入ipconfig /renew,本地计算机便设法与DHCP 服务器取得联系,并租用一个IP地址。多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。
Renew之后就可以看到新的配置信息了,这次新的ipv4地址是172.26.118.66 和之前的172.26.254.252 有所不同。
常用网络命令(三)-- netstat 命令 和 tracert命令
Netstat 命令
Netstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,用于检验本机各端口网络连接情况。
常用指令:
-a 看全部
-e 看以太网
-n 数字显示地址加端口
-r 路由表
-s 协议统计信息
执行netstat -a,可以看到活动的连接,这里有一直监听着的listenning的连接,也有不停建立的established连接。如果有异常的连接访问,这里也能看得到。
执行netstat -e,其实就是看网络的数据包统计数据,在win10的网络适配器里其实也有图形化的内容看见。
执行netstat -n,其实和 -a命令差不多,只是把主机名变成了数字形式
执行netstat -r , 获取路由表
执行netstat -s , 获取连接的统计数据
*Tracert命令
Tracert命令可以用来跟踪数据报使用的路由(路径),并列出在所经过的每个路由器上所花的时间。因此,Tracert一般用来检测故障的位置。
该实用程序跟踪的路径是源计算机到目的计算机的一条路径,但不能保证或认为数据报总遵循这个路径。
Tracert用法:只需在tracert后面跟一个IP地址或URL,Tracert会进行相应的域名转换。
我们可以使用tracert命令,对之前 常用网络命令(一)-- ping操作 循环的局域网ping里, 24,33,90 这三个差别较大的TTL局域网IP地址,追踪一下路由的跃点。
24的地址对应TTL是60,追踪经过4个路由点到达,初始TTL是64
*
33地址的TTL是252,追踪经过3个路由点到达,初始TTL是255
*
90地址的TTL是124,追踪经过4个路由点到达,初始TTL是128
*一般情况下,对于默认网关为路由器的PING,其TTL值就是最大值255;对于Windows主机,其默认值为128;对于Linux或Unix主机其默认值为64;可以根据TTL做主机类型的猜测,但是这个TTL是可以被改的,所以并不绝对准确。
常用网络命令(四)-- route 命令 和 arp 命令
Route
Route用来显示、人工添加和修改路由表项目。
大多数主机都驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在使用哪一台路由器把数据报发表到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的缺省网关来输入。 但是,当网络上拥有两个或多个路由器时,可能想让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。
一般情况下,个人电脑不需要进行特别的路由表设置,多数是用于一些内网外网想要进行特定的网络路由传递的时候,才会做相关的设置。
在这种情况下,必须人工将项目添加到路由器和主机上的路由表中。
执行route print 命令,显示路由表,其实和执行netstat -r , 获取路由表效果是一样的。
下面关于路由表的操作都需要使用管理员权限,否则会出现下面这样的提示。
*route add
route add 命令可将路由项目添加给路由表。
例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网上的一个路由器(所接端口IP为202.96.123.5,子网掩码为255.255.255.224) 则应该输入以下命令:
route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5 或者
route add 209.98.32.33 mask 255.255.255.224 202.96.123.5
既然要添加路由项目,如果想要填metric参数,那么首先追踪一个服务器的路由请求,看下经过哪些路由器网段
然后我们把这个网络的路由直接加到路由表里。本机ip地址可以用 ipconfig \all 查到。
重新查看路由表,多了一个对应添加的内容。
注意,使用route 命令添加的路由,机器重启或者网卡重启后由就失效了
*route change
route change 用来修改数据的传输路由。但不能用本命令来改变数据的目的地。
把原本66的路由改到45
route delete
本命令可以从路由表中删除路由。
删除之后就没有原来添加的数据内容了。
arp命令与ARP地址转化协议
ARP地址解析协议用把IP地址转化为物理地址。
ARP命令能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用ARP命令,也可以用人工方式输入静态的网卡物理/IP地址对。可使用这种方式为缺省网关和本地服务器等常用主机进行操作,有助于减少网络上的信息量。
常用命令如下:
查看地址转换表
arp -a IP
如果有多个网卡,那么使用arp -a加上接口IP地址,就可以只显示与该接口相关的ARP缓存项目。
arp -s IP 物理地址
可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
这里手动添加一个假的ip,224.0.0.20和假的物理地址01-00-5e-00-00-14,执行之后是没有提示的。(没有消息就是好消息)执行完之后,重新查看一下就会知道已经执行成功。
之后我们删除掉即可
常用网络命令(五)-- nslookup, netsh, net
nslookup
查询一台机器的IP地址和其对应的域名
nslookup命令的功能是查询一台机器的IP地址和其对应的域名,通常它能监测网络中DNS服务器是否能正确实现域名解析它,它的运行需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
该命令的一般格式为:nslookup [IP地址/域名]
我们查看一下baidu和weibo下的域名对应ip,这里的dns都是114是因为是设置了固定的dns而不是动态获取。
如果服务器没有做防御的话,如果解析对应的是真实的服务器IP地址,就可以通过这个ip找漏洞尝试攻进去,或者用大量无用请求来耗掉资源做攻击。
网络配置工具(Netsh)
windows系统下提供的功能强大的网络配置命令行工具,它允许从本地或远程显示或修改当前正在运行的主机网络配置。该工具既可以命令行交互运行,手动输入命令,也可以在脚本中使用,通过批处理模式运行一组命令。
进入NetSH环境后,在根级目录用exec命令也可以加载一个配置脚本。还有对winsock、route、ras等网络服务的配置也可以通过Netsh的内置命令操作。
可以用来看一下无线wlan的驱动信息
可以用来看防火墙配置文件
*网络管理命令(Net)
Net命令是一个命令行命令,通过它可以查看和管理网络的环境、服务、用户、登陆等信息内容。要想获得Net的命令帮助,在命令行控制台下输入NET /?就可以得到Net的所有命令列表。输入net HELP可以查看更详细的说明
*比如查看账户信息
*查看用户
常用网络命令(六)-- ftp (命令行里也能传文件)
文件传输协议实用工具(Ftp)
Windows系统提供的FTP工具,客户端用户连接远程FTP服务器,实现文件共享和传输,下载FTP服务器资源文件,或上传客户端文件。
现在很多人一提到FTP 想到的是去下载软件做远程连接进行文件的上传和下载,其实本来win的命令行就自带 ftp 的服务,软件加了个UI壳,然后再做了一下优化和集成,方便大家使用。有些时候如果只是简单的操作完全,可以直接用命令行来搞定,甚至可以写个简单的 bat 脚本做自动上传和自动下载。
FTP是用于文件传输的,目前也有很多可视化的软件(比如FileZilla)。但是dos里的命令行也是可以直接操作的。
首先先输入ftp,再敲一下回车,进入ftp命令模式,这里面就可以执行ftp的命令了。
然后,我们需要有一个开启了FTP服务的ip地址。如果自己本机搭建了FTP服务,则可以使用本机localhost的ip或域名,或者使用搭建好ftp的云服务器。FTP服务默认是用21端口。如果修改过端口的话,需要在连接的时候指定端口。
下面的演示都是基于一台已经安装好ftp的 linux 服务器。
执行open IP地址 命令,连接到服务器。
open IP地址
这个时候就会开始进行连接,初始化TLS,字符集是utf-8,这里需要填写服务配置的FTP账号密码。第一行写了当前的连接用户数量,number 1 第一个连接是另一个之前用软件连接的ftp,命令行里的这个是第二个连接。
输入正确的账号密码之后,就会进入FTP系统的根目录。同时用一个ftp软件打开图形化界面更方便说明具体的内容。使用ls命令,可以查看目录下的内容。
可以看到,前面的两行是传输状态的反馈,表示成功连接,下面的. … 1 home 则是目录下显示的四个内容。 ‘.’表示当前目录,‘…’表示父级目录,为了更直观的展示,可以看一下右方软件里面的图形界面。
我们可以使用cd 命令来更改目录位置,当前是在根目录 /的位置,现在进入到1文件夹。然后再执行ls查看一下这个1文件夹下面有什么。
用FTP可以进行上传下载操作。在进行上传下载操作前,我们需要首先定位这一头连接的本地文件夹,用于和远端FTP服务器的路径进行传输文件。这个文件夹位置是上传文件或者下载文件的目录。使用lcd来定位本地文件夹。举例,我需要把D 盘Dev文件夹下的一个文件上传上去,那么就执行命令
lcd D:\Dev
上传文件使用PUT命令,下载文件使用GET命令。用法是put filename和 get filename 现在先进行上传操作。这个文件夹下面有一个 mysqlSlowQuertyLog.log 文件需要被上传,所以执行下面的命令。
put mysqlSlowQuertyLog.log
上传成功,说明这时候我们刚刚进入的ftp服务器下的 /1文件夹下面应该就有这个文件了。使用ls命令看一下。
接着进行下载操作,把这个文件下载到本地电脑的另一个地方去。还是一样的要使用lcd 命令 去定位本地路径文件夹。之后在同理使用get 命令。
这个文件就会被下载到本地电脑的指定路径了。最后输入quit命令即可退出。
Windwos路由:route add命令详解
1.具体功能
该命令用于在本地IP路由表中显示和修改条目。使用不带参数的ROUTE可以显示帮助。
2.语法详解
route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric] [if inte***ce]
3.参数说明
-f
清除所有不是主路由(子网掩码为255.255.255.255的路由)、环回网络路由(目标为127.0.0.0,子网掩码为255.255.255.0的路由)或多播路由(目标为224.0.0.0,子网掩码为240.0.0.0的路由)的条目的路由表。如果它与命令之一(例如Add、Change或Delete)结合使用,表会在运行命令之前清除。
-p
与Add命令共同使用时,指定路由被添加到注册表并在启动TCP/IP协议的时候初始化IP路由表。默认情况下,启动TCP/IP协议时不会保存添加的路由,与Print命令一起使用时,则显示永久路由列表。所有其他的命令都忽略此参数。永久路由存储在注册表中的位置是HKEY_LOCAL_MACHSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes。
command 指定要运行的命令。下表列出了有效的命令。
destination
指定路由的网络目标地址。目标地址可以是一个IP网络地址(其中网络地址的主机地址位设置为0),对于主机路由是IP地址,对于默认路由是0.0.0.0。
mask
subnetmask
指定与网络目标地址相关联的网掩码(又称子网掩码)。子网掩码对于IP网络地址可以是一适当的子网掩码,对于主机路由是255.255.255.255 ,对于默认路由是0.0.0.0。如果忽略,则使用子网掩码255.255.255.255。定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是0,则目标地址中的对应位就不能设置为1。
gateway
指定超过由网络目标和子网掩码定义的可达到的地址集的前一个或下一个跃点IP地址。对于本地连接的子网路由,网关地址是分配给连子网接口的IP地址。对于要经过一个或多个路由器才可用到的远程路由,网关地址是一个分配给相邻路由器的、可直接达到的IP地址。
metric
为路由指定所需跃点数的整数值(范围是1~9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。
if inte***ce 指定目标可以到达的接口的接口索引。使用Route print命令可以显示接口及其对应接口索引的列表。对于接口索引可以使用十进制或十六进制的值。对于十六进制值,要在十六进制数的前面加上0x。忽略if参数时,接口由网关地址确定。
注意:路由表中跃点数一列的值较大是由于允许TCP/IP根据每个LAN接口的IP地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除大跃点数,请在每个LAN连接的TCP/IP协议的高级属性中禁用自动确定接口跃点数。如果在systemrootSystem32DriversEtc文件夹的本地网络文件中存在适当的条目,名称可以用于Destination。只要名称可以通过“域名系统”(DNS)查询这样的标准主机名解析技术分解为IP地址,就可以将其用于Gateway,DNS查询使用存储在systemrootSystem32DriversEtc文件夹下的本地主机文件和NetBIOS 名称解析。如果是Print或Delete命令,可以忽略Gateway参数,使用通配符来表示目标和网关。Destination的值可以是由星号(*)指定的通配符。如果指定目标含有一个星号(*)或问号(?),它被看作是通配符,只打印或删除匹配的目标路由。星号代表任意一字符序列,问号代表任一字符。例如,10.*.1、192.168.*、127.*和*224*都是星号通配符的有效使用。使用了无效的目标和子网掩码(网掩码)值的组合,会显示“Route bad gateway address netmask”错误消息。目标中有一位或多位设置为1,而其在子网掩码中的对应位设置为0时会发生这个错误。可以通过二进制表示法表示目标和子网掩码来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的1和表示目标主机地址部分的一连串的0两个部分。查看目标以确定目标的主机地址部分(由子网掩码所定义) 是否有些位设置成了1。
Windows 98 的Route命令不支持-p参数。
只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。
4.例举说明
例子1:要显示IP路由表的完整内容,执行以下命令:
route print
例子2:要显示IP路由表中以10.开始的路由,执行以下命令:
route print 10.*
例子3:要添加默认网关地址为192.168.12.1的默认路由,执行以下命令:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
例子4:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的路由,执行以下命令:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
例子5:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的永久路由,执行以下命令:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
例子6:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,跃点数为7的路由,执行以下命令:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
例子7:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,接口索引为0x3的路由,执行以下命令:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
例子8:要删除目标为10.41.0.0,子网掩码为255.255.0.0的路由,执行以下命令:
route delete 10.41.0.0 mask 255.255.0.0
例子9:要删除IP路由表中以10.开始的所有路由,执行以下命令:
route delete 10.*
例子10:要将目标为10.41.0.0,子网掩码为255.255.0.0的路由的下一个跃点地址由10.27.0.1更改为10.27.0.25,执行以下命令:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
例子11:要添加静态路由让目标为172.0.0.0网段的都转发到网为为172.25.25.1的路由上
route add 172.0.0.0 mask 255.0.0.0 172.25.25.1 metric 2 -p
让有线和无线同时工作
公司改为双网后,一直都只是设置了网络优先级,要么只能上外网,要么只能上内网,今天找来公司做网络的同事帮忙弄了下就好啦,蛮开心的,嘿嘿。。。
1.先设置无线的优先级为1,再设置有线的优先级为2.
2.CMD—>打开命令窗体,键入:route add 172.30.1.0 mask 255.255.255.0 192.168.3.254 -p
*IP:172.30.1.0 为网段,例如要连接本地网络172.30.1.10 哪么键入172.30.1.0网段即可。
*IP:255.255.255.0 为子网掩码。
*IP:192.168.3.254 为要连接IP:172.30.1.10的网关。
*-p 会写入到永久路由存储在注册表中,这样重启电脑后一样可用