大家好,我是老杨。
如果问你,你在日常工作中用的最频繁的命令是哪个,你下意识的第一反应是什么。
年前,我做了个不完全统计,大概有100多位粉丝参与的问卷调查, 调查每一位网工在解决网络故障时使用最多的四个网络命令。
于是,才有了今天的排行榜。
对于你来说,是否有好用的命令,但未在此次票选内的?也欢迎留言区告诉我命令+理由,和其他同行们一起分享一波。
今日文章阅读福利:《网工最全技术图谱(高清)》
私信老杨,回复关键词“网络技术”,即可领取网工经典技术思维导图(最全版本),替你理清技术思路,拨开技术迷雾,指导你23年的努力方向。
01 Ping命令
ping命令是Windows系统自带的一个用于验证计算机之间连接的可执行命令,也是我的公众号里写过最多的命令之一。
它是基于TCP/IP协议、通过发送和接收数据包来检测两台计算机间的连接状况。
一般来说,网工们用 ping查看网络情况,主要是检查两个指标:
- 第一个是看看是不是超时
- 第二个看看是不是延迟太高
如果超时那么肯定是网络有问题(禁 ping情况除外),如果延迟太高,网络情况肯定也是很糟糕的。
所以,当出现网络故障的时候,你就可以用ping命令来预估故障点。
如果ping命令没有成功,那么就该考虑硬件连接是否出错,比如网卡设置是否正确、比如网线是否连通,再考虑IP地址设置是否正确,具体使用方法就是调出命令提示符窗口,然后Ping IP地址。
调出命令提示符窗口的方法,可以在开始—运行中输入CMD,(或者Win键+R,再输入CMD)就可以调出了。
你可以看到,在上图中,返回的数值包括字节、时间和TTL。时间是表示和这个地址连接的时间长短,数值越小表示时间越快。
TTL值表示生存时间(Time To Live),指数据被路由器丢弃之前允许通过的网段数量。
你从上图也可以看出,默认情况下只会发送4个数据包,如果要返回多个数据包,可以通过ping -n来实现。
如果要不间断地返回数据包,那么就用ping -t来实现,这样就不断返回数据,直到管理员手动关闭,关闭的终止快捷键是Ctrl+C。
更多ping命令参数的应用,你可以在命令行里输入:ping/? 能够查看到。
当然,这里也给你整理了一下ping的系列用法,记得收藏。
01 ping-t的使用
不间断地ping指定计算机,知道管理员中断。
这说明电脑连接路由器是通的,网络效果好。下面按住键盘的Ctrl+c终止它继续ping下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了。
02 ping-a的使用
Ping-a解析计算机名与NetBios名。就是可以通过ping它的IP地址,可以解析出主机名。
03 ping-n的使用
在默认情况下,一般都只发送4个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度都很有帮助。
比如:你想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少,就可以通过以下获知:
从上述操作,你就可以知道,在给47.93.187.142发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为32ms,最慢为55ms,平均速度为37ms。
说明:网络良好。
如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失一部分,如果丢失的额比较多的话,那么,就说明网络不好。
通过这个,就可以很直观地判断出网络情况。
04 ping-I size的使用
-l size:发送size指定大小的到目标主机的数据包。
在默认的情况下Windows的ping发送的数据包大小为32byt,最大能发送65500byt。
当一次发送的数据包大于或等于65500byt时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大。
比如攻击者可以结合-t参数实施DOS攻击。(所以它具有危险性,不要轻易向别人计算机使用)。
比如,ping -l 65500 -t 211.84.7.46
会连续对IP地址执行ping命令,直到被用户以Ctrl+C中断。
这样,它就会不停地向211.84.7.46计算机发送大小为65500byt的数据包。
如果你只有一台计算机,也许没有什么效果。
但如果,你有很多计算机,你就可以完全使对方完全瘫痪,造成网络严重堵塞,由此可见威力非同小可。
05 ping-r count的使用
在“记录路由”字段中记录传出和返回数据包的路由,探测经过的路由个数,但最多只能跟踪到9个路由。
ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录9个路由)
将经过9个路由都显示出来,可以看上图。
Ping命令用的较多的就是这6种,大家有可能在项目中使用到这些,这里在分享1种不太常用,但是好用的ping的方法。
06 批量ping网段
对于一个网段IP地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,哪个IP地址出了问题,就会一目了然。
先看代码,直接在命令行窗口输入:for /L %D in (1,1,255) do ping 10.168.1.%D,IP地址段修改成你要检查的IP地址段。
当输入批量命令后,那么它就自动把网段内所有IP地址都ping完为止。
那么这段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代码是啥意思?
代码中的这个(1,1,255)就是网段起与始,就是检测网段192.168.1.1到192.168.1.255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。
02 ARP命令
ARP命令是地址解析协议,它也是一种TCP/IP协议,作用是根据IP地址来获取设备的MAC地址。经常用到的包括查询、添加和删除记录。
有一些粉丝朋友就多次问到,如何防止ip地址冲突?如何解决?很多情况下ip地址冲突除了人为,大多数都是由ARP所造成的。
你在局域网中的一台电脑的命令提示符中输入:arp -a
你就可以读取IP地址和物理MAC地址的一一对应关系。
当你想绑定或添加一条ARP记录可以用arp -s 命令实现。格式为:ARP+空格+-s+IP地址+MAC地址。
当你想删除一条APR记录,直接用arp -d来实现删除。
01 arp -a的用法
当你需要显示当期ip地址对应的mac地址时使用arp -a,
在命令提示符中输入“arp -a”并回车;自动在缓存中,读取IP地址和mac地址的对应关系表。
02 arp -s 的用法
当你需要手动添加一条arp记录时,可以使用arp -s。
手工输入一条ARP项目,格式为“ARP+空格+-a+IP地址+MAC地址”;
其实这个命令也叫作绑定mac地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的ip地址,经常会造成ip地址混乱,无法管理。
那么,这个时候,你只需要把它的ip地址与它电脑mac地址进行绑定,那么下次出现网络故障,就可以直接mac地址定位到那几台电脑。
03 arp -d的用法
当你觉得某条arp记录有问题时,可以使用arp-d删除。这个命令的功能就是删除所有ARP记录。
其实如果想彻底清空ARP列表,需要你禁止所有网络连接,否则,网络数据交互过程中仍然会产生新的ARP列表。
03 tracert命令
该命令是一个路由跟踪命令,用来确定网络中的IP数据包访问主机时所采取的路径。
它的用法也并不难,你可以在命令提示符中输入:tracert
就能看到它常用的命令和解析了。
比如你想跟踪某一IP地址,你可以看到具体的跟踪路径地址。
当网络反应慢的时候,返回的数值就是请求超时。通常10个节点左右跟踪完成的IP地址或者网站,访问速度都是较好的。
在Unix平台上,Traceroute 命令就相当于Windows平台上的 Tracert 命令,也可以帮我们排除网络中的问题。
当网络路由中,想查看自己配置的线路延迟是否正常,就可以查看下当前的跟踪路由是否畅通。
网络上出现路由环路时,使用Ping命令只能知道接收端出现超时错误,而Tracert命令能够很容易发现路由环路等潜在问题。
在Tracert某地址时,多次出现相同的地址,即可认为出现了路由环路。
当前网络很慢,我们还可以通过检查是哪个路由反应速度比较慢,而进行设置修改。
04 route命令
该命令用法是在数据包在不能有效传输的情况下,用来管理和查看本机的路由表。
它的格式如下:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
单看这个语法,你可能并不熟悉,所以接下来,你可以详细了解它参数的意思。
其中 :
–f:参数用于清除路由表。
-p:参数用于永久保留某条路由(即在系统重启时不会丢失路由)
Command:主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE:(修改)共4个命令。
Destination:代表所要达到的目标IP地址。
MASK:是子网掩码的关键字。
Netmask:代表具体的子网掩码,如果不加说明,默认是255.255.255.255(单机IP地址),因此键入掩码时候要特别小心,要确认添加的是某个IP地址还是IP网段。如果代表全部出口子网掩码可用0.0.0.0。
Gateway:代表出口网关。
01 route print的用法
route print命令用于显示路由表中的当前项目,在单个路由器网段上的输出结果如图所示。
02 route add的用法
使用本命令route add,可以将路由项目添加给路由表。
例如,如果要设定一个到目的网络209.99.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器IP为202.96.123.5,子网掩码为255.255.255.224,那么用户应该输入以下命令:
route add 209.99.32.33 mask 255.255.255.224 202.96.123.5 metric 5
03 route change的用法
可以使用route change命令来修改数据的传输路由,不过,用户不能使用本命令来改变数据的目的地。下面这个例子将上例路由改变采用一条包含3个网段的路径:
route add 209.99.32.33 mask 255.255.255.224 202.96.123.250 metric 3
04 route delete的用法
使用route delete 命令可以从路由表中删除路由。例如:route delete 209.99.32.33
更多具体用法,都可以输入 route/?查看。
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部