当前位置: 首页 > news >正文

【Linux加餐-网络命令】

一、Ping命令

Ping 是一种网络工具,用于测试主机之间的连通性。它通过发送 ICMP(Internet Control Message Protocol)回显请求 报文到目标主机,并等待目标主机返回 ICMP 回显应答 报文,从而判断网络是否通畅以及测量往返时间(RTT)。

Ping命令的基本用法

ping [选项] 目标主机
目标主机:可以是IP地址或域名。
# 比如这里检测百度域名
wuxu@Nanyiroot:~$ ping www.baidu.com
PING www.a.shifen.com (183.2.172.177) 56(84) bytes of data.
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=1 ttl=49 time=15.6 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=2 ttl=49 time=15.5 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=3 ttl=49 time=15.5 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=4 ttl=49 time=15.5 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=5 ttl=49 time=15.5 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=6 ttl=49 time=15.5 ms
64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=7 ttl=49 time=15.5 ms

1.PING www.a.shifen.com (183.2.172.177) 56(84) bytes of data.

  • www.a.shifen.com:这是百度的一个域名,www.baidu.com 实际上解析到了这个域名。
  • 183.2.172.177:这是 www.a.shifen.com 的IP地址。
  • 56(84) bytes of data:表示发送的ICMP请求报文的大小是56字节(加上28字节的ICMP头部,总共84字节)

2.64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=1 ttl=49 time=15.6 ms

  • 64 bytes:表示接收到的ICMP回显应答报文的大小是64字节。
  • 183.2.172.177:目标主机的IP地址。
  • icmp_seq=1:表示这是第1个ICMP请求的应答。
  • ttl=49:TTL(Time To Live)值为49,表示数据包在到达目标主机之前经过了49个路由器跳数。
  • time=15.6 ms:表示从发送ICMP请求到接收到ICMP应答的往返时间(RTT)为15.6毫秒。

3.64 bytes from 183.2.172.177 (183.2.172.177): icmp_seq=2 ttl=49 time=15.5 ms

  • 这是第2个ICMP请求的应答,其他字段的含义与第1行相同。

后续处理一样~

总结

目标主机:www.baidu.com 解析到了 www.a.shifen.com,IP地址为 183.2.172.177。
ICMP请求大小:56字节(加上28字节的ICMP头部,总共84字节)。
ICMP应答大小:64字节。
TTL值:49,表示数据包经过了49个路由器跳数。
往返时间(RTT):大约15.5毫秒,表示网络延迟较低,网络连接质量较好。
从输出可以看出,网络连接稳定,延迟较低,没有丢包现象。

指定发送的ICMP回显请求的次数-c count

发送4个ICMP请求后停止。
ping -c 4 www.baidu.com 
wuxu@Nanyiroot:~$ ping -c 4 www.baidu.com
PING www.a.shifen.com (183.2.172.17) 56(84) bytes of data.
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=1 ttl=51 time=11.4 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=2 ttl=51 time=11.4 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=3 ttl=51 time=11.4 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=4 ttl=51 time=11.4 ms

--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 11.372/11.394/11.444/0.029 ms

1.4 packets transmitted, 4 received, 0% packet loss, time 3005ms

  • 4 packets transmitted:表示本次测试共发送了 4 个 ICMP 请求包
  • 4 received:表示成功接收到了 4 个 ICMP 响应包
  • 0% packet loss:表示丢包率为 0%,即所有发送的包都成功收到了响应。
  • time 3005ms:表示整个 ping 测试过程耗时 3005 毫秒(约 3 秒)

2.rtt min/avg/max/mdev = 11.372/11.394/11.444/0.029 ms

  • 这是关于 往返时间(RTT,Round-Trip Time) 的统计信息:

    min:最小往返时间,为 11.372 毫秒

    avg:平均往返时间,为 11.394 毫秒

    max:最大往返时间,为 11.444 毫秒

    mdev:往返时间的标准差,为 0.029 毫秒,表示延迟非常稳定,波动很小。

总结

网络质量:非常好,没有丢包(0% packet loss)。
延迟:非常低且稳定,平均延迟为 11.394 毫秒,最大延迟仅为 11.444 毫秒。
稳定性:延迟波动极小(标准差仅为 0.029 毫秒),说明网络连接非常稳定。

-i interval-设置发送ICMP请求的时间间隔(单位为秒)

每2秒发送一个ICMP请求
ping -i 2 www.baidu.com
wuxu@Nanyiroot:~$ ping -i 2 www.baidu.com
PING www.a.shifen.com (183.2.172.17) 56(84) bytes of data.
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=1 ttl=51 time=11.4 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=2 ttl=51 time=11.4 ms

-s packetsize设置发送的ICMP请求报文的大小(单位为字节)

发送1000字节的ICMP请求
ping -s 1000 www.baidu.com
-t ttl设置ICMP请求报文的TTL(Time To Live)值
设置TTL为64
ping -t 64 www.baidu.com

-W timeout设置等待每个回显应答的超时时间(单位为秒)

如果5秒内没有收到应答,则认为超时
ping -W 5 www.baidu.com

-q安静模式,只显示统计信息,不显示每个ICMP请求的详细信息

发送10个ICMP请求后,只显示统计信息
ping -q -c 10 www.baidu.com
wuxu@Nanyiroot:~$ ping -q -c 10 www.baidu.com
PING www.a.shifen.com (183.2.172.177) 56(84) bytes of data.

--- www.a.shifen.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9005ms
rtt min/avg/max/mdev = 15.499/15.533/15.608/0.033 ms

-v详细模式,显示更多的信息

ping -v www.baidu.com

二、netstat

netstat 是一个用来查看网络状态的重要工具.

语法:netstat [选项]

功能:查看网络状态

常用选项

• n 拒绝显示别名,能显示数字的全部转化成数字

• l 仅列出有在 Listen (监听) 的服务状态

• p 显示建立相关链接的程序名

• t (tcp)仅显示 tcp 相关选项

• u (udp)仅显示 udp 相关选项

• a (all)显示所有选项,默认不显示 LISTEN 相关

• r 显示路由表

在这里插入图片描述

# 只看listen状态下tcp相关字段并且显示建立相关链接的程序名 + 拒绝显示别名,能显示数字的全部转化成数
wuxu@Nanyiroot:~$ netstat -nltp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -      
# 有无n的区别
wuxu@Nanyiroot:~$ netstat -ltp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      -                   
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN      -                   
tcp        0      0 localhost:33060         0.0.0.0:*               LISTEN      -                   
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN      -                   
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      -                   
wuxu@Nanyiroot:~$ 

watch 是一个用于定期执行命令并全屏显示其输出的工具。它非常适合用来实时监控命令的输出变化,比如监控系统状态、网络连接、日志文件等

watch -n [间隔时间] [命令]

间隔时间:指定命令的执行间隔时间(单位为秒)。
命令:需要定期执行的命令。
#  每个1s 执行一次 netstat -nltp
watch -n 1 netstat -nltp
# 每隔 5 秒监控系统内存使用情况
watch -n 5 free -h
# 每隔 3 秒监控 CPU 使用情况
watch -n 3 top -b -n 1 | head -n 12
# 每隔 10 秒监控磁盘使用情况
watch -n 10 df -h

三、pidof

在查看服务器的进程 id 时非常方便.

语法:pidof [进程名]

功能:通过进程名, 查看进程 id

在这里插入图片描述

相关文章:

  • 数仓架构告别「补丁」时代!全新批流一体 Domino 架构终结“批流缝合”
  • vue中使用defineModel简化defineProps和defineEmits的用法
  • Node.js Express 处理静态资源
  • linux 抓图机器资源不足,排查和删除图片文件
  • Java | 基于 ThreadLocal 实现多客户端访问设备的 REST 请求下发
  • 量子计算:开启信息时代新纪元的钥匙
  • 阀门流量控制系统MATLAB仿真PID
  • 从 YOLO11 模型格式导出到TF.js 模型格式 ,环境爬坑,依赖关系已经贴出来了
  • Python中multiprocessing的使用详解
  • git push的时候出现无法访问的解决
  • MinGW下编译ffmpeg源码时生成compile_commands.json
  • 微信小程序报错:600001 ERR_CERT_AUTHORITY_INVALID 的问题排查及解决
  • 区块链技术在投票系统中的应用:安全、透明与去中心化
  • (!常识!)C++中的内存泄漏和野指针——如何产生?如何避免?解决方案?基本原理?面试常问重点内容?
  • Springbean(二)@Component及其派生注解自动注入(2)使用注意和加载问题
  • JSON是什么
  • 【Git “reset“ 命令详解】
  • 论文浅尝 | C-ICL:用于信息抽取的对比式上下文学习(EMNLP2024)
  • 淘宝获取商品sku详情API接口如何调用?
  • 转发和重定向
  • “上博号”彩绘大飞机今日启航:万米高空传播中国古代文化
  • 圆桌|如何应对特朗普政府的关税霸凌?一种联合国视角的思考
  • 史学巨擘的思想地图与学术路径——王汎森解析梁启超、陈寅恪、傅斯年
  • 中国公民在日本被机动车碾压身亡,我使馆发布提醒
  • 丁俊晖连续7年止步世锦赛16强,中国军团到了接棒的时候
  • “五一”假期,又有多地将向社会开放政府机关食堂