ping www.baidu.com,从命令执行开始,到结果返回总共需要经过以下几步:
1、DNS解析:www.baidu.com解析成具体的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后面都要接主机地址。
网络基本功系列:细说网络那些事儿
用来检测一帧数据从当前主机传送到目的主机所需要的时间。来确定两台计算机之间的网络是否连通。预测故障和确定故障源是非常有效。ping命令主要基于ICMP
ping回答了两个基本的问题:是否有连接?连接的质量如何?
常用参数:
-t 使当前主机不断地向目的主机发送数据,直到使用Ctrl-C中断;
-n count 指定要做多少次ping,其中count为正整数值;
ping www.baidu.com -4 count
使用不带参数的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地址在世界是惟一的(可能不唯一)。
tracert 是一个简单的网络诊断工具,可以列出分组经过的路由节点(通过tracert命令,就能知道本机与目标主机之间经过多台主机,即经过多少路由。),以及它在IP 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一)
判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点 清单和到达时间。
许多中间组件(路由器或网桥)的大型网络中解决问题时,TRACERT 非常有用。
tracert -? #帮助命令 tracert IP 地址 [-d] tracert www.baidu.com
了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型(看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地址+端口号。
根据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
可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。在已安装TCP/IP协议的电脑上面均可以使用这个命令。主要用来诊断域名系统 (DNS) 基础结构的信息。Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具.
nslookup www.baidu.com
到目的地有多重方法,路由表就是看不同路的
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下可以设置网络服务访问顺序,在网络连接-》更改适配器-》菜单栏高级-》高级设置-》适配器和绑定
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端口