ping ,从命令执行开始,到结果返回总共需要经过以下几步:
1、DNS解析:解析成具体的IP地址,因为数据包在网络上传输时只认IP地址 。
2、查找路由表:IP地址以后,接下来就是要查找路由,路由的作用是决定数据包的下一跳地址 。
3、查找ARP表:下一跳IP地址以后 , 是不是说数据包就能发出去了呢 。也不能 , 因为数据包最终在传输的过程
中,并不认IP地址 , 而只认MAC地址 。(注意这里的ARP请求只有在ARP表中查找不到的情况下才会发送,并且查
询完以后会进行缓存 。在有效其内不再重新发送ARP请求,以提高效率 。)
4、数据包发送:有了MAC以后,数据包便从网卡发送出去,先到达交换机,然后再通过交换机转发给网关 。
5、路由转发(重复以上过程)
访问百度说明 在同一个页面中,请求比较多的话 , 可以打开HTTP KeepAlive, 复用连接,避免3次握手带来的开销 。HTTP2.0 进一步优化,通过多路复用技术,允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息 。也就是可以在在一次传输中发送多个css,js,图片等资源,可以重复利用,非每次请求都3次4挥 。
注意:善用自带说明文档及参数
命令+/? 帮助文档
windows查看配置:systeminfo
ipconfig和netstat命令后面不接IP地址、主机名,其余3个命令ping,tracert,arp后面都要接主机地址 。
网络基本功系列:细说网络那些事儿
1、ping
用来检测一帧数据从当前主机传送到目的主机所需要的时间 。来确定两台计算机之间的网络是否连通 。预测故障和确定故障源是非常有效 。ping命令主要基于ICMP
ping回答了两个基本的问题:是否有连接?连接的质量如何?
常用参数:
-t 使当前主机不断地向目的主机发送数据,直到使用Ctrl-C中断;
-n count 指定要做多少次ping,其中count为正整数值;
ping-4 count
它的作用主要为:
用来检测网络的连通情况和分析网络速度
根据域名得到服务器IP
根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量 。
我们通常会用它来直接ping ip地址,来测试网络的连通情况 。
类如这种,直接ping ip地址或网关,ping通会显示出以上数据,有朋友可能会问绑定mac地址是什么意思,bytes=32;time
bytes值:数据包大?。簿褪亲纸?。
time值:响应时间 , 这个时间越小,说明你连接这个地址速度越快 。
TTL值:Time To Live,表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值 , 告诉路由器该数据包何时需要被丢弃 。可以通过Ping返回的TTL值大小 , 粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列 。
默认情况下,Linux系统的TTL值为64或255,WindowsNT/2000/XP系统的TTL值为128,Windows98系统的TTL值为32,UNIX主机的TTL值为255 。
因此一般TTL值:
100~130ms之间,Windows系统 ;
240~255ms之间,UNIX/Linux系统 。
当然,我们今天主要了解并不是这些,而是ping的其它参考 。
ping命令除了直接ping网络的ip地址,验证网络畅通和速度之外,它还有这些用法 。
ping -t的使用
不间断地Ping指定计算机,直到管理员中断 。
这就说明电脑连接路由器是通的 , 网络效果很好 。下面按按住键盘的Ctrl+c终止它继续ping下去,就会停止了 , 会总结出运行的数据包有多少 , 通断的有多少了 。
ping -a的使用
ping-a解析计算机名与NetBios名 。就是可以通过ping它的ip地址,可以解析出主机名 。
ping -n的使用
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数 , 对衡量网络速度很有帮助,比如我想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
从以上我就可以知道在给47.93.187.142发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为32ms , 最慢为55ms , 平均速度为37ms 。说明我的网络良好 。
如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分,如果丢失的比较多的话,那么就说明网络不好,可以很直观的判断出网络的情况 。
ping -l 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的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可 。
ping -r count 的使用
在”记录路由”字段中记录传出和返回数据包的路由,探测经过的
路由个数,但最多只能跟踪到9个路由 。
ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录9个路由)
将经过 9个路由都显示出来了,可以看上图 。
ping命令用的较多的就这6类的,大家有可能在项目中会用到的 。
2、ipconfig(ifconfig)
使用不带参数的ipconfig命令可以得到以下信息:IP地址、子网掩码、默认网关 。而使用ipconfig /all , 则可以得到更多的信息:主机名、DNS服务器、节点类型、网络适配 器的物理地址、主机的IP地址、子网掩码以及默认网关等 。
ipconfig/all 查看本地网络配置是否正确
MAC地址也叫物理地址、硬件地址或链路地址 , 由网络设备制造商生产时写在硬件内部 。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如”08:00:20:0A:8C:6D”就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号 。只要你不去更改自己的MAC地址,那么你的MAC地址在世界是惟一的(可能不唯一) 。
3、tracert
tracert 是一个简单的网络诊断工具,可以列出分组经过的路由节点(通过tracert命令,就能知道本机与目标主机之间经过多台主机绑定mac地址是什么意思,即经过多少路由 。),以及它在IP 网络中每一跳的延迟 。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一)
判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点 清单和到达时间 。
许多中间组件(路由器或网桥)的大型网络中解决问题时,TRACERT 非常有用 。
tracert -? #帮助命令tracert IP 地址 [-d]tracert
4、netstat(看端口占用)
了解网络的整体使用情况 。它可以显示当前正在活动的网络连接的详细信息 , 如采用的协议类型(看tcp,udp)、当前主机与远端相连主机(一个或多个)的IP地址以及 它们之间的连接状态等 。
netstat监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息 。
状态列表
LISTEN :在监听状态中 。
ESTABLISHED :已建立联机的联机情况 。
TIME_WAIT :该联机在目前已经是等待的状态 。
小于1024 的端口通常运行一些网络服务 , 大于1024 的端口用来与远程机器建立连接 。
对本机的开放端口和连接信息一览无余 。
netstat -an #常用
netstat -a # 列出所有端口netstat -n #显示所有已建立的有效连接 。netstat -at # 列出所有TCP端口netstat -au # 列出所有UDP端口 重点提一下”-a”和”-n”选项 。”-a”选项意在显示所有连接 , 当不附加”-n”选项时 , 它显示的是本地计算机的netbios名字+端口号 。而加了”-n”选项后,它显示的是本地IP地址+端口号 。
netstat -a
-a显示所有连接和侦听端口,包括本地和远程系统连接时使用的TCP端口或者UDP端口,在本地机器上的外部连接和我们远程所连接的系统以及本地和远程系统连接的状态 , 如图
使用该参数可以查看计算机的系统服务是否正常,判断系统是否被种上木马,如果发现不正常的端口与服务,要及时关闭端口或者服务 。netstat -a命令还可以作为一种实时入侵检测工具,判断是否有外部计算机连接本地计算机 。
-n参数可以显示本机和本机相连的外部主机的IP地址,而不像-a参数显示的只是计算机的NetBios名 。
-e参数可以显示以太网统计,联合-s -p使用 。-s显示每个协议的统计,默认情况下,显示TCP、UDP和IP协议的统计,再加上-p 就可以指定显示TCP、UDP还是IP协议其中一种 。如图
-r参数可以显示路由表的内容 , 类似route print(能让双网卡同时工作的非常实用的命令). 。
-o参数可以显示本地与外部主机相连的PID数值 , taskkill需要通过这个数值才能中断连接
发现可疑连接 , 调用任务管理器Ctrl+Shift+ESC组合键找到对应PID数值的进程
有些任务管理器没有看到PID列,如下图找出PID列
在任务管理器中找到对应PID数值的进程右击结束进程 。此时还没有完全抵御入侵,更彻底点进入组策略新建规则
进入组策略命令:Win+R,输入gpeidt.msc回车
3、根据协议新建IP安全策略–新建端口封堵入侵端口,彻底让电脑保持安全 。
5、arp(地址解析协议)
根据IP地址获取物理地址的一个TCP/IP协议 。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回(响应)消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源 。用来显示及修改特定IP地址的网卡地址
arp /? #帮助菜单arp -a #查看当前电脑上的ARP映射表 。可以看到当前的ARP的映射关系是动态的还是静态的 。arp -d #清除信息
arp -a 查看所有ip及物理地址
arp -a 显示的是你电脑的本地arp表,就是只要你的电脑通过tcp/ip协议访问过的同一局域网的所有机器都会显示在里面 。
防止ARP攻击的方法:使用arp -s命令绑定IP地址和MAC地址之后再用ARP -a就会显示static了 。
防止别人用P2P阻断你方法很简单在组策略里面用IP安全策略阻止所有来自对方电脑的数据包,这样你们之间没办法通信他就不能控制你的
流量了 。
arp -s IP MAC
6、nslookup(感觉没有用?)
可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释 。在已安装TCP/IP协议的电脑上面均可以使用这个命令 。主要用来诊断域名系统 (DNS) 基础结构的信息 。Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具.
nslookup
7、route(查看Windows路由表)
到目的地有多重方法,路由表就是看不同路的
route add命令详解
路由表分为五列 。第一列是网络目的地址 。列出了路由器连接的所有的网段 。网络掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码 。这基本上能够让路由器确定目的网络的地址类 。第三列是网关 。一旦路由器确定它要把这个数据包转发到哪一个目的网络 , 路由器就要查看网关列表 。网关表告诉路由器这个数据包应该转发到哪一个IP地址才能达到目的网络 。接口列告诉路由器哪一个网卡连接到了合适的目的网络 。从技术上说 , 接口列仅告诉路由器分配给网卡的IP地址 。那个网卡把路由器连接到目的网络 。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡 。最后一列是测量 。测量本身是一种科学 。但是,我将设法简单向你解释一下它们做什么 。我听说过的一个最佳的解释测量的方法是用机场的词汇对此进行解释 。设想一下,我需要从北卡罗来纳州的加洛特市飞往佛罗里达州的迈阿密 。由于加洛特机场非常大,我要去迈阿密海滩可以有很多选择 。我可以乘坐西北航空公司的班机 。那个班机能把我带到密执安州的底特律,然后从底特律飞往迈阿密 。我还可以乘坐大陆航空公司的班机飞往休斯顿,然后飞往迈阿密 。另一个选择是乘坐美国航空公司的飞机直接飞往迈阿密 。我应该选择哪一条线路呢? 看默认路由,也就是 0.0.0.0/0 这条路由,总共有两个接口,分别是 10.1.88.95 和 192.168.10.45 , 网关分别是 10.1.1.254 和 192.168.10.1 。那么会走哪一条呢?看后面的跃点数,最小的那个,就是优先的 。
网卡优先级设置
windows下可以设置网络服务访问顺序,在网络连接-》更改适配器-》菜单栏高级-》高级设置-》适配器和绑定
9、net view
net view命令,来查看局域网中的计算机名称;(非用户名),可惜,只能看PC
想要某台计算机名称的IP地址,可以直接输入命令”ping -4 计算机名”,ping命令将显示IP地址和包时间
ping -4 YJ-PC #ping -4 用户名
这个方法非常实用,需要共享的时候不知道IP就一个命令搞定了 。
问:在win7系统中,想要查看本机所有ICMP连接情况 , 但是忘记了那个DOS命令是什么?求解答?
答:DOS命令是:netstat -s -p icmp 。小编认为,总是忘记怎么查看ICMP连接的命令,应该先了解一下ICMP 是什么意思,这样容易记住这个命令 。
ICMP是什么
ICMP是(Internet Control Message Protocol)Internet控制报文协议 。对于网络安全具有及其重要的意义,其本身的特点决定了它非常容易被用于攻击网络上的路由器和主机 。
ICMP是TCP/IP协议族的一个子协议,属于网络层协议 。
ICMP的功能:
1、侦测远端主机是否存在
2、建立及维护路由资料
3、重导资料传送路径(ICMP重定向)
4、资料流量控制 。ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况 。
加速器:
宽带带宽理解为高速路宽度,不会改变距离,高速各种车 , 网游加速器专用车道(公交专用类似),路由器无线改有线
国内来说,延迟与距离的关系不大,尤其是光纤大规模普及后,光信号要比电信号快的多 。其实延迟高低主要与网络设备的负
载有关 。我们的数据要跨越很多个网络节点,每个数据包都要经过一次次转发,才最终到达游戏服务器 。由于国内运营商都在
超卖带宽,网络设备压力很大,当上网高峰时,网络设备不堪重负,延迟就会上升,丢包的几率也会上升 。
Linus命令:
telnet命令用于登录远程主机,对远程主机进行管理 。telnet因为采用明文传送报文,安全性不好
netstat -a //列出所有端口netstat -at //列出所有tcp端口netstat -au //列出所有udp端口
【电脑网络工程师必备:Windows中ping、netstat、tracert命令】本文到此结束,希望对大家有所帮助!
猜你喜欢
- 给他人做贷款担保人对自己有什么影响
- 微信上线「拍一拍」功能,网友直呼:「有啥用?」
- 蜂蜜用对是药,吃错了是毒!怎样才能安全吃蜂蜜?要明白毒从哪来
- 怎样才能选择到合适的装修材料?
- 谈谈在移动互联网时代,广告怎么做才更具价值?
- 种菜缺少有机肥,手把手教你7天就能做好,再也不用化肥了
- 买10万的股票,需要涨多少,卖出时才不会亏钱?
- 怎样快速沤肥?
- 相片在相机sd卡里成了花的了。怎么办?
