计算机win10下常用命令验证性实验
1、需要安装的软件
cmder(也可以用windows自带的命令行窗口程序,打开方式win+R cmd )
用cmder替换cnd教程
注意:Cmder只是一个外壳,所以你不能删掉cmd.exe或者powershell.exe
1.打开Cmder,右击标题栏,选择Settings
2.打开Integration–Default Item
3.选中Force ConEmu as default terminal for console applications
4.选中Register on OS startup
5.点击右下角的Save Settings
这将使cmder接管所有的控制台程序
Mini版和Full版的区别在于有无自带一些常用Linux命令
ipconfig
ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。
参考网址:
1、https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/ipconfig
2、https://www.itread01.com/articles/1475880029.html
3、https://zh.wikipedia.org/wiki/Ipconfig
在没有参数的情况下使用, ipconfig 显示 Internet 协议版本 4 (IPv4) 以及所有适配器的 IPv6 地址、子网掩码和默认网关。
ipconfig常用命令
ipconfig /all (显示所有适配器的完整 TCP/IP 配置。 适配器可表示物理接口(例如已安装的网络适配器)或逻辑接口(如拨号连接)。)
ipconfig /? (在命令提示符下显示帮助)
ipconfig /flushns (刷新并重置 DNS 客户端解析程序缓存的内容。 在 DNS 疑难解答过程中,可以使用此过程从缓存中丢弃否定缓存条目,以及动态添加的任何其他条目。)
ipconfig /displaydns
DNS解释
ip解释(用来实现网络的互相交流)
子网掩码(可以用来求网络号,将目的地址和子网掩码作与运算,去掉主机号部分,剩下的就是网络号)
网关(一个网络连接到另一个网络的关口)
思考:你的计算机和旁边的计算机是否处于同一子网,为什么?
处于同一子网,通过验证得出结论,因为自己的计算机与旁边的计算机的网络号一致。
ping
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
参考网址:
1、https://bkso.baidu.com/item/ping/6235?fromtitle=PING%E5%91%BD%E4%BB%A4&fromid=670278
2、https://blog.csdn.net/hebbely/article/details/54965989
3、https://sites.google.com/site/goh1933/ping-zhi-ling-gao-ji-yong-fa
示例操作,访问百度
TTL:命令可以存活的跳数
常用命令
ping /? (用来了解该命令的各种选项)
问题1:假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
1、首先自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等。
2、检测旁边网络的连通性,检查其 TCP/IP 配置即网卡状态等。
3、检查网关的连通性
4、检查到百度的连通性,如果不能联通,有可能就是网关以外的问题。
问题2:假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?
DNS设置错误。解决方法:清空DNS缓存
tracert
TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
参考网址:
1、https://zh.wikipedia.org/wiki/Traceroute
2、https://support.microsoft.com/zh-cn/help/314868/how-to-use-tracert-to-troubleshoot-tcp-ip-problems-in-windows
3、http://www.ttlsa.com/tools/how-to-use-tracert/
常用命令
tracert实际运用状态
TRACERT 诊断实用程序通过向目标地址发送 Internet 控制消息协议 (ICMP) 回显数据包来确定到目标地址的路由。 在这些数据包中,TRACERT 使用了不同的 IP“生存期”(TTL) 值。 由于要求沿途的路由器在转发数据包前至少必须将 TTL 减少 1,因此 TTL 实际上是一个跃点计数器 (hop counter)。 当某个数据包的 TTL 达到零 (0) 时,路由器就会向源计算机发送一个 ICMP“超时”的消息。
实例:追踪百度
说明还在子网内部。
实例2:ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
问题1:tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
Tracert 先发送 TTL 为 1的回应数据包,并记录下ip,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。
问题2:在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
因为都是有子网内部访问外部网络,第一个进过的都是网关。
问题3:在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
我们会发现,当出现“*”时,后面都显示请求超时,可能是由于电脑未能接收到当前发出的命令的及回复。
ARP
ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。
参考网址:
1、http://c.biancheng.net/view/6388.html
2、https://zhuanlan.zhihu.com/p/28771785
3、https://juejin.im/entry/5b85f4c6e51d451a447a7adc
4、https://www.cnblogs.com/songwenlong/p/6103406.html
ARP常用命令集合
实例1:arp -a
当访问了旁边的主机后。
可以发现,其中出现了你ping的主机IP和Mac地址.
实例2:通过ipconfig查看自己的网关号,然后ping网关号,接着使用arp -a查看网关mac地址。arp 缓存里有网关的缓存,并且是动态类型的。当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。
注意:可能会出现问题
这是因为我们采用的非管理员方式使用,权限不够,需要使用管理员权限输出此命令。
管理员权限的打开方式
问题:我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,优点是便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。静态分配IP地址的弱点是合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。
DHCP
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。
参考网址:
1、https://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E8%AE%BE%E7%BD%AE%E5%8D%8F%E8%AE%AE
2、https://docs.oracle.com/cd/E24847_01/html/819-7058/dhcp-overview-3.html
3、https://www.jianshu.com/p/a14b5446855e
当某主机尚未分配IP地址并且被设置为动态获取方式时,DHCP服务器就会根据DHCP协议给作为DHCP客户端的这台主机分配IP,使得主机能够利用这个IP上网。
实例1:一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
问题1:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
因为自动配置的IP地址和信息只是短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题。
netstat
无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
参考网址:
1、https://www.jianshu.com/p/b866f3f6e46e
2、https://blog.csdn.net/weixin_39800144/article/details/80929947
netstat常用命令
-a 选项会列出 tcp, udp 和 unix 协议下所有套接字的所有连接。
使用 -t 选项列出 TCP 协议的连接,可和 -a 选项配合使用
实例1:Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
实例2:使用 netstat -an 命令,查看计算机当前的网络连接状况。
可以看到当前网络的工作状态。
DNS
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
域名
参考资料:
- https://www.cnblogs.com/crazylqy/p/7110357.html
- https://juejin.im/post/6844903613207166983
实例1:
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
实例2:
查看被记录的DNS,使用 ipconfig /displaydns 命令查看。
实例3:
使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名 。
问题:使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
广告进入主机的方式是通过ip访问,手动修改域名,广告就会找不到对应的Ip,就不能访问主机。某些广告拦截失败可能是由于这些广告与你访问的网页或软件是捆绑的,其可以通过你访问网址找寻出你的ip,然后找到你的主机端口。
cache
✍ cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。
浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。
参考资料: