【计算机网络】11、网络连通性:ping、traceroute、nslookup

news2024/11/15 15:24:40

在这里插入图片描述

文章目录

  • 一、ping
    • 1.1 禁 ping
  • 二、traceroute
  • 三、nslookup
    • 3.1 非交互模式
    • 3.2 交互模式

注意,测试网络连通性时,有的机器无法 ping 通,但可能 telnet 能通。不要因为无法 ping 通就放弃尝试。

一、ping

1.1 禁 ping

禁 ping 是通过忽略 ICPM 包实现的

方法1:设置内核参数

# 以下方法不会持久化(重启电脑时会被重置)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all # 使ping没反应(忽略ICMP包)
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all # 恢复ping正常

# 以下方法会持久化
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf

方法2:设置 iptables

# 以下方法不会持久化(重启电脑时会被重置)
iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j DROP   # 使ping没反应(忽略ICMP包)
iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j ACCEPT # 恢复ping正常

二、traceroute

参考 cisco 官网:ping 与 traceroute 实战区别
显示数据包到主机间的路径,它默认发送的数据包大小是40字节。

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

traceroute 是 ipv4 的命令、traceroute6 是 ipv6 的命令,参数如下:

-d:使用Socket层级的排错功能;
-f<存活数值>:设置第一个检测数据包的存活数值TTL的大小;
-F:设置勿离断位;
-g<网关>:设置来源路由网关,最多可设置8个;
-i<网络界面>:使用指定的网络界面送出数据包;
-I:使用ICMP回应取代UDP资料信息;
-m<存活数值>:设置检测数据包的最大存活数值TTL的大小;
-n:直接使用IP地址而非主机名称;
-p<通信端口>:设置UDP传输协议的通信端口;
-r:忽略普通的Routing Table,直接将数据包送到远端主机上。
-s<来源地址>:设置本地主机送出数据包的IP地址;
-t<服务类型>:设置检测数据包的TOS数值;
-v:详细显示指令的执行过程;
-w<超时秒数>:设置等待远端主机回报的时间;
-x:开启或关闭数据包的正确性检验。
# 以下命令在192.168.22.103执行
apt install traceroute

# traceroute 192.168.2.99
traceroute to 192.168.2.99 (192.168.2.99), 30 hops max, 60 byte packets
 1  _gateway (192.168.22.254)  6.478 ms  7.174 ms  7.156 ms
 2  192.168.2.99 (192.168.2.99)  1.821 ms  1.804 ms  1.789 ms

# traceroute 192.168.100.66
traceroute to 192.168.100.66 (192.168.100.66), 30 hops max, 60 byte packets
 1  _gateway (192.168.22.254)  2.939 ms  2.862 ms  2.844 ms
 2  192.168.100.66 (192.168.100.66)  2.844 ms  2.819 ms  2.793 ms

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用traceroute -q 4 www.58.com,表示向每个网关发送4个数据包。

有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n参数来避免DNS解析,以IP格式输出数据。

如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。

# -m 是设置跳数
# traceroute 192.168.100.66 -m 5
traceroute to 192.168.100.66 (192.168.100.66), 5 hops max, 60 byte packets
 1  _gateway (192.168.22.254)  2.750 ms  2.672 ms  2.651 ms
 2  192.168.100.66 (192.168.100.66)  2.619 ms  2.599 ms *

# traceroute 192.168.100.66 -m 1
traceroute to 192.168.100.66 (192.168.100.66), 1 hops max, 60 byte packets
 1  _gateway (192.168.22.254)  3.173 ms  3.096 ms  3.073 ms

其他示例

traceroute -m 10 www.baidu.com # 跳数设置
traceroute -n www.baidu.com    # 显示IP地址,不查主机名
traceroute -p 6888 www.baidu.com  # 探测包使用的基本UDP端口设置6888
traceroute -q 4 www.baidu.com  # 把探测包的个数设置为值4
traceroute -r www.baidu.com    # 绕过正常的路由表,直接发送到网络相连的主机
traceroute -w 3 www.baidu.com  # 把对外发探测包的等待响应时间设置为3秒

三、nslookup

图文、命令

3.1 非交互模式

# nslookup www.baidu.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 110.242.68.4
Name:   www.a.shifen.com
Address: 110.242.68.3
# 指定DNS服务器
192.168.100.66# nslookup www.baidu.com 114.114.114.114
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 110.242.68.4
Name:   www.a.shifen.com
Address: 110.242.68.3

192.168.100.66# nslookup www.baidu.com 192.168.2.1
Server:         192.168.2.1
Address:        192.168.2.1#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 110.242.68.4
Name:   www.a.shifen.com
Address: 110.242.68.3
# 指定记录类型
# nslookup -query=ns www.baidu.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.

Authoritative answers can be found from:
a.shifen.com
        origin = ns1.a.shifen.com
        mail addr = baidu_dns_master.baidu.com
        serial = 2308010034
        refresh = 5
        retry = 5
        expire = 2592000
        minimum = 3600

3.2 交互模式

# nslookup
> www.baidu.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 110.242.68.3
Name:   www.a.shifen.com
Address: 110.242.68.4
# nslookup
> set type=ns
> www.baidu.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.

Authoritative answers can be found from:
a.shifen.com
        origin = ns1.a.shifen.com
        mail addr = baidu_dns_master.baidu.com
        serial = 2308010034
        refresh = 5
        retry = 5
        expire = 2592000
        minimum = 3600

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【vue】vue-image-lazy图片懒加载使用与介绍【超详细+npm包源代码】

简介 当前插件是基于vue3&#xff0c;写的一个图片懒加载&#xff0c;文章最下方是npm包的源码&#xff0c;你可以自己拿去研究和修改&#xff0c;如有更好的想法可以留言&#xff0c;如果对你有帮助&#xff0c;可以点赞收藏和关注&#xff0c;谢谢。 后续会添加图片放大和切…

如何在地图上寻找峨眉山零公里的龙洞湖

爬峨眉山的需要&#xff0c;住在零公里附近。 据说这附近有个好玩的地方叫龙洞湖&#xff0c;我们住得远&#xff0c;想步行去看看。拿出地图&#xff0c;搜龙洞湖&#xff0c;尴尬了。搜不到具体位置。细想&#xff0c;人家整个村就叫龙洞村&#xff0c;地图上居然没有标识&a…

【git技巧】什么是 .gitkeep

.gitkeep 文件的作用 就是——使 Git 保留一个空文件夹&#xff01; Git 是一个文件追踪系统&#xff0c;这也导致了 Git 的设计初衷是对文件进行追踪&#xff0c;所以&#xff0c;Git 不会追踪一个空目录。 但是&#xff0c;在某些情况下&#xff0c;我们确实是需要保留一些…

AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解

本文使用工具&#xff0c;作者:秋葉aaaki 免责声明: 工具免费提供 无任何盈利目的 大家好&#xff0c;我是风雨无阻。 今天为大家带来的是 AI 绘画Stable Diffusion 研究&#xff08;三&#xff09;sd模型种类介绍及安装使用详解。 目前&#xff0c;AI 绘画Stable Diffusion的…

<C++> 二、类和对象(下)

1.const成员函数 将const修饰的“成员函数”称之为const成员函数&#xff0c;const修饰类成员函数&#xff0c;实际修饰该成员函数隐含的this指针&#xff0c;表明在该成员函数中不能对类的任何成员进行修改。 class A { public:void Print() //这里隐藏了A* this指针{cout &l…

【win11+vs 2017+OpenCV4.5.5+Qt5.12配置】解决了过程中遇到的小问题

0.版本选择 由于Qt5无法与最新的vs2022兼容&#xff0c;扩展工具中一直显示不可用&#xff0c;所以将vs降级成vs2017。 在安装Qt的过程中&#xff0c;会选择安装Qt套件&#xff0c;其中就的MCVS 2017&#xff0c;说明vs2017是与qt兼容的。 当然也可以用qt creator这一原生IDE。…

测试|Junit相关内容

测试|Junit相关内容 文章目录 测试|Junit相关内容0.Junit说明1.Junit注解TestDisabledBeforeAll和AfterAllBeforeEach和AfterEach 2.Junit参数化单参数多参数&#xff08;多种/多组&#xff09;CSV获取参数&#xff08;支持多种&#xff09;CSV文件获取参数&#xff08;支持多种…

牛客网Verilog刷题——VL52

牛客网Verilog刷题——VL52 题目答案 题目 请编写一个十进制计数器模块&#xff0c;当mode信号为1&#xff0c;计数器输出信号递增&#xff0c;当mode信号为0&#xff0c;计数器输出信号递减。每次到达0&#xff0c;给出指示信号zero。模块的接口信号图如下&#xff1a; 模块的…

文心一言 VS 讯飞星火 VS chatgpt (69)-- 算法导论6.5 8题

八、HEAP-DELETE(A&#xff0c;i)操作能够将结点 i 从堆 A 中删除。对于一个包含 n个元素的堆&#xff0c;请设计一个能够在 O(lgn)时间内完成的 HEAP-DELETE 操作。 文心一言&#xff1a; 要在 O(log n) 时间内完成 HEAP-DELETE 操作&#xff0c;可以使用以下方法&#xff1…

IPsecVPN实验复现

基础配置&#xff1a; r1&#xff1a; r2&#xff1a; r3&#xff1a; AR1&#xff1a; 一 配置IKE AS 的安全协议&#xff1a; ike proposal 1 ---安全提议编号 encryption-algorithm aes-cbc-128 --- 加密算法 dh group5 ---DH算法 authentication-algorithm md5---…

一起来学算法(邻接矩阵)

前言&#xff1a; 邻接矩阵是数学和计算机科学中常用的一种表示方式&#xff0c;用来表述有向图或无向图&#xff0c;一张图由一组顶点&#xff08;或结点&#xff09;和一组表组成&#xff0c;用邻接矩阵就能表示这些顶点间存在的边的关系 1.图的概念 对于图而言&#xff0c;…

【业务功能篇61】SpringBoot项目流水线 dependencyManagement 标签整改依赖包版本漏洞问题

业务场景&#xff1a;当前我们项目引入了公司自研的一些公共框架组件&#xff0c;比如SSO单点登录jar包&#xff0c;文件上传服务jar包等公共组件&#xff0c;开发新功能&#xff0c;本地验证好之后&#xff0c;部署流水线&#xff0c;报出一些jar包版本的整改漏洞问题&#xf…

一文帮你快速理解协程使用模型

本文同步发表在个人博客上 0xforee’s blog 前言 A coroutine is an instance of suspendable computation. It is conceptually similar to a thread, in the sense that it takes a block of code to run that works concurrently with the rest of the code. However, a co…

d3dcompiler_47.dll缺失怎么修复,分享几种快速修复方法

当我们打开电脑软件或许游戏时候&#xff0c;如果电脑计算机中丢失了d3dcompiler_47.dll就会报错&#xff0c;丢失d3dcompiler_47.dll“”或许找不到d3dcompiler_47.dll等等提示。它主要用于编写和编译Direct3D 11的着色器程序&#xff0c;是Direct3D 11中非常重要的组成部分。…

FFmpeg下载安装及Windows开发环境设置

1 FFmpeg简介 FFmpeg&#xff1a;FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。项目的名称来自MPEG视频编码标准&#xff0c;前面的"FF"代表…

Java中集合容器详解:简单使用与案例分析

目录 一、概览 1.1 Collection 1. Set 2. List 3. Queue 1.2 Map 二、容器中的设计模式 迭代器模式 适配器模式 三、源码分析 ArrayList 1. 概览 2. 扩容 3. 删除元素 4. 序列化 5. Fail-Fast Vector 1. 同步 2. 扩容 3. 与 ArrayList 的比较 4. 替代方案…

AutoSAR系列讲解(实践篇)10.8-实验:模式管理

首先备份上一次的工程,养成好习惯(最好还是用Git,这次最后再安利一下Git这个神器)。今天的实验异常的简单,基本都是自动配置好了,只需 要勾选上就行,但是大家最好结合前面讲解的内容,把里面的选项点开看看,稍微理解一下。如此,假如配置出错了,才不至于慌乱了手脚 一…

【C语言】通讯录3.0 (文件存储版)

前言 通讯录是一种记录联系人信息的工具&#xff0c;包括姓名、电话号码、电子邮件地址、住址等。 文章的一二三章均于上一篇相同&#xff0c;可以直接看第四章改造内容。 此通讯录是基于通讯录2.0&#xff08;动态增长版&#xff09;的基础上进行增加文件操作功能&#xff0c…

jq——页面滚动到显示区域,再执行动画——基础积累

今天郑大东同事向我显摆了一个他做的动画&#xff0c;效果如下&#xff1a; 使用场景 当页面滚动到相应区域时&#xff0c;再执行里面的动画&#xff0c;也就是下图中右侧的一层层的显示动画&#xff0c;无论是向上滚动页面还是向下滚动页面。 下面直接上代码&#xff1a; …

mybatis更新时记录变更的字段日志java反射获取字段值转成string

1.先写个注解,加在entity的字段上,标记要记录这个字段的更新记录&#xff0c;再加个变更记录表&#xff08;你们可以用自己的日志表&#xff09; Retention(RetentionPolicy.RUNTIME) Target({java.lang.annotation.ElementType.FIELD}) Documented public interface ModifyAw…