• 【批处理DOS-CMD命令-汇总和小结】-上网和网络通信相关命令(ping、telnet、nslookup、arp、tracert、ipconfig)


    一、查看网络延迟和丢包情况——ping命令

    (1)先用ping /?命令查看ping的帮助信息

    (2) 最基本的用法——ping ip/域名,查看本机到目标主机的延迟和丢包率。帮助信息的target name只能是主机域名或IP地址。

     上面是Ping域名,可以得到目标主机的ip地址;下面试试ping通这个ip地址。

    这个命令经常用来检查网络状态是否良好,从顶层来验证是否可以正常上网。 

    (3) 设定ping的次数。默认的ping次数是4次,但如果你想修改次数,例如Ping百度搜索的服务器9次,可以用命令【ping baidu.com -n 9】。

     (4)不限次数地ping通。如果你想要持续很多次地ping通某个主机,可以用-t参数来实现。

    在ping的过程中,如果按下快捷键ctrl+c,就会彻底停止,并进行统计。

    而如果按下快捷键ctrl+break(或pause),经过短暂的停止并统计后,还会继续ping目标主机。 

    (5)检查TCP/IP协议是否配置正常。ping 127.0.0.1或ping localhost是用来检查TCP/IP协议的,如果正常说明网络层和传输层不存在问题。

    还有一种“检查网关连接是否畅通”的场景。

    先用ipconfig命令查看网关地址是多少,如下图所示我的默认网关是192.168.2.1。

     ping网关地址,没发现任何问题。

    二、检测服务器的端口是否开放——telnet命令

    对于windows10,如果你在执行cmd命令telnet时出现了【'telnet' 不是内部或外部命令,也不是可运行的程序】的错误,说明你没有打开这个windows功能。

    搜索【启用或关闭Windows功能】,打开后,勾选Telnet客户端。

    再打印telnet的命令帮助信息。

     开发人员经常用到80端口来辅助他们的工作,因此打开服务器后需要检测80端口是否正常启动。

    我们没有申请过自己的服务器,那么就借助百度搜索的服务器完成测试。

    执行命令【telnet baidu.com 80】。

    如果进入类似下图这样全黑的界面,标题是Telnet xxx,那么说明端口就是正常的。 

     

     如果执行命令【telnet baidu.com 23】,就会发现一直处于连接或最终出现连接失败的状态,原因很明显,百度搜索服务器关闭了23端口,之所以这样是因为服务器端口越开放,开放地越多,越容易受到黑客的攻击。

    三、查询域名对应的IP地址——nslookup

    例如查询baidu.com的IP地址有哪些?

    1. C:\Users\Administrator>nslookup baidu.com
    2. 服务器: pub1.sdns.360.cn
    3. Address: 101.226.4.6
    4. 名称: baidu.com
    5. Addresses: 220.181.38.251
    6. 220.181.38.148

    四、路由查询命令——arp

    arp查询:arp -a

    五、路由追踪命令——tracert

    • 路由追踪:tracert ip/域名

    例如追踪百度服务器的IP地址,需要经过哪些网关IP呢?就需要用到tracert命令。注意如果不加参数-d,则会将地址解析为主机名,所以会很慢,加上后则不转化,速度就好快很多了。

    在linux系统中,对应的命令是traceroute。

    1. C:\Users\Administrator>tracert -d 220.181.38.251
    2. 通过最多 30 个跃点跟踪到 220.181.38.251 的路由
    3. 1 1 ms 1 ms 4 ms 172.17.64.1
    4. 2 2 ms 4 ms * 192.168.255.217
    5. 3 3 ms 3 ms 3 ms 119.39.176.173
    6. 4 3 ms 2 ms 5 ms 119.39.176.137
    7. 5 22 ms 21 ms 22 ms 119.39.176.229
    8. 6 * * * 请求超时。
    9. 7 29 ms 33 ms 28 ms 219.158.4.158
    10. 8 * * * 请求超时。
    11. 9 * * 31 ms 202.97.18.173
    12. 10 * * * 请求超时。
    13. 11 * * * 请求超时。
    14. 12 * * * 请求超时。
    15. 13 * * * 请求超时。
    16. 14 * * * 请求超时。
    17. 15 * * * 请求超时。
    18. 16 * * * 请求超时。
    19. 17 34 ms 40 ms 32 ms 220.181.38.251
    20. 跟踪完成。

    六、ip地址配置命令——ipconfig

    6.1 查看ipconfig的帮助信息——ipconfig /?

    1. d:\BaiduNetdiskDownload>ipconfig /?
    2. 用法:
    3. ipconfig [/allcompartments] [/? | /all |
    4. /renew [adapter] | /release [adapter] |
    5. /renew6 [adapter] | /release6 [adapter] |
    6. /flushdns | /displaydns | /registerdns |
    7. /showclassid adapter |
    8. /setclassid adapter [classid] |
    9. /showclassid6 adapter |
    10. /setclassid6 adapter [classid] ]
    11. 其中
    12. adapter 连接名称
    13. (允许使用通配符 * 和 ?,参见示例)
    14. 选项:
    15. /? 显示此帮助消息
    16. /all 显示完整配置信息。
    17. /release 释放指定适配器的 IPv4 地址。
    18. /release6 释放指定适配器的 IPv6 地址。
    19. /renew 更新指定适配器的 IPv4 地址。
    20. /renew6 更新指定适配器的 IPv6 地址。
    21. /flushdns 清除 DNS 解析程序缓存。
    22. /registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
    23. /displaydns 显示 DNS 解析程序缓存的内容。
    24. /showclassid 显示适配器允许的所有 DHCP 类 ID。
    25. /setclassid 修改 DHCP 类 ID。
    26. /showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
    27. /setclassid6 修改 IPv6 DHCP 类 ID。
    28. 默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和
    29. 默认网关。
    30. 对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定
    31. 到 TCP/IP 的适配器的 IP 地址租用。
    32. 对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
    33. 示例:
    34. > ipconfig ... 显示信息
    35. > ipconfig /all ... 显示详细信息
    36. > ipconfig /renew ... 更新所有适配器
    37. > ipconfig /renew EL* ... 更新所有名称以 EL 开头
    38. 的连接
    39. > ipconfig /release *Con* ... 释放所有匹配的连接,
    40. 例如“有线以太网连接 1”或
    41. “有线以太网连接 2”
    42. > ipconfig /allcompartments ... 显示有关所有隔离舱的
    43. 信息
    44. > ipconfig /allcompartments /all ... 显示有关所有隔离舱的
    45. 详细信息
    46. d:\BaiduNetdiskDownload>

    6.2 查看所有网络适配器的IP地址——ipconfig

    执行命令后,发现只有一个网卡被打开(实际我电脑上有两个物理网卡),IP地址为192.168.2.177。

    6.3 查看本地DNS缓存——ipconfig/displaydns

    6.4 清除本地DNS缓存——ipconfig/flushdns

    有时候电脑突然上不了网,或者存在某些网站打不开的情况,但别的网站又可以打开,解决办法需要清除DNS缓存,那么如何清除DNS缓存呢,最常用的方法就是使用清除DNS缓存命令来完成。

    DNS缓存的意义就是给电脑一个域名到IP地址的短期记忆,这个短期记忆是有约定时间的,过了这个时间必须忘掉。那么如果服务器不按常理出牌,没过约定时间,就把自己的IP地址给换了。我们用自己缓存中的域名-IP映射关系就难以真正地访问到服务器,因此需要忘掉再重建DNS。

    清理本地DNS的缓存命令是【ipconfig/flushdns】。

    再执行命令【ipconfig/displaydns】 ,看看缓存还有不?竟然还有??

     虽然减少了,但还是有缓存,我也不知道为啥,但是常规的一些http/ssl域名都已经被清除了,对于邮箱协议imap的域名还是没被清除(可能是我的网易邮箱助手还挂在后台,顽强地重建了DNS)。

  • 相关阅读:
    计算机专业毕业设计项目,如何去做?一位大龄过期“初级”程序员来讲讲
    D136-002-005带D138-002-002加密狗
    ssm毕设项目新华书店o2o服务系统89nml(java+VUE+Mybatis+Maven+Mysql+sprnig)
    使用Postman并发测试接口&关于RedisTemplate线程安全的一些理解
    【*E】leetcode-069.x的平方根
    内网工具viper的介绍与配置简介
    利用python为你集成三方apk里的lib时自动生成Android.bp
    leetcode 462. Minimum Moves to Equal Array Elements II (使数组元素相等的最小move数II)
    C#:实现BinaryIndexedTree树状数组算法(附完整源码)
    Python使用MySQL数据库
  • 原文地址:https://blog.csdn.net/PSpiritV/article/details/125452597