千家信息网

常用网络命令(二)

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、ping命令ping命令是常用的网络命令,它通常用来测试与目标主机的连通性。ping命令: -c #: ping包的个数 -s #: ping包的大小
千家信息网最后更新 2026年11月02日常用网络命令(二)

一、ping命令

ping命令是常用的网络命令,它通常用来测试与目标主机的连通性。

ping命令:            -c #: ping包的个数            -s #: ping包的大小            -w #: 等待时长            -W #:等待一次ping请求的时长            -f: 极限检测。大量且快速地送网络封包给一台机器,看它的回应            -i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次            -t 存活数值:设置存活数值TTL的大小

实例:

[root@young ~]# ping -f -c 65535 -s 20000 192.168.1.6 #泛洪***PING 192.168.1.6 (192.168.1.6) 20000(20028) bytes of data.[root@young ~]# ping -w 5 192.168.1.1  #指定等待时长5sPING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.10 ms64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.19 ms64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.30 ms64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.23 ms64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.944 ms--- 192.168.1.1 ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 5000msrtt min/avg/max/mdev = 0.944/1.156/1.307/0.124 ms[root@young ~]# ping -c 3 192.168.1.1  #指定次数为3PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.14 ms64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.858 ms64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.12 ms--- 192.168.1.1 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2006msrtt min/avg/max/mdev = 0.858/1.041/1.146/0.135 ms

二、traceroute命令

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

说明:tracepath命令和traceroute命令功能类似,但不需要root权限。

常用选项:

-m#:设置检测数据包的最大存活数值TTL的大小。-n: 直接使用IP地址而非主机名称。-p#: 设置UDP传输协议的通信端口-q#: 设置每跳检测包的发送个数,默认三个-r 忽略普通的Routing Table,直接将数据包送到远端主机上

实例:

[root@bash young]# traceroute -m 5 -q 4 -n www.baidu.com  traceroute to www.baidu.com (115.239.211.112), 5 hops max, 60 byte packets 1  192.168.1.1  6.188 ms  5.990 ms  5.868 ms  5.753 ms 2  100.65.0.1  5.638 ms  5.522 ms  6.447 ms  9.321 ms 3  60.235.65.145  9.133 ms  9.311 ms  9.179 ms  11.035 ms 4  60.235.64.81  20.402 ms  20.297 ms  20.226 ms  20.573 ms 5  202.97.40.101  27.015 ms  26.890 ms 202.97.40.149  29.884 ms 202.97.40.141  26.662 ms

三、mtr命令

Mtr是 Linux中有一个网络连通性判断工具,它结合了ping, traceroute,nslookup 的相关特性。

常用参数:

-s:用来指定ping数据包的大小--no-dns:不对IP地址做域名解析-a:来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的-i:使用这个参数来设置ICMP返回之间的要求默认是1秒-4:IPv4-6:IPv6

实例:

[root@bash young]# mtr --no-dns 8.8.8.8                                           My traceroute  [v0.85]bash (0.0.0.0)                                                          Mon Feb 13 22:35:30 2017Keys:  Help   Display mode   Restart statistics   Order of fields   quit                                                                    Packets               Pings Host                                        Loss%   Snt   Last   Avg  Best  Wrst StDev 1. 192.168.1.1                                0.0%    18    3.3   1.6   0.9   3.3   0.5 2. 100.65.0.1                                 0.0%    18    5.1   7.0   3.6  19.5   4.5 3. 60.235.65.141                              0.0%    18    6.1   6.4   5.7   8.8   0.8 4. 60.235.64.109                              0.0%    18   28.1  22.1  12.5  58.5  13.4 ...

以上报告示例说明:

  • 第一列:显示的是IP地址和本机域名,这点和traceroute很像

  • 第二列:snt:10 设置每秒发送数据包的数量,默认值是10 可以通过参数 -c来指定。

  • 第三列:是显示的每个对应IP的丢包率

  • 第四列:显示的最近一次的返回时延

  • 第五列:是平均值 这个应该是发送ping包的平均时延

  • 第六列:是最好或者说时延最短的

  • 第七列:是最差或者说时延最常的

  • 第八列:是标准偏差

四、netstat命令

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

常用选项:

        -r: 显示路由表        -n: numeric,数字格式显示主机地址        -t: tcp协议相关的连接        -u: udp协议相关的连接        -l: 显示处于监听状态的连接;表示:被动打开等待客户端访问的服务;        -p: 显示连接状态中的进程程序名和进程号;        -a: 所有的连接        -ta: tcp相关的所有连接        -s: 按各个协议进行统计        -e: 显示扩展信息,例如uid等        -c: 每隔一个固定时间,执行该netstat命令

实例:

1)显示列出所有端口 (包括监听和未监听的)

[root@bash young]# netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State      tcp        0      0 localhost:discp-client  0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:mysql           0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:x11             0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     tcp        0     96 192.168.1.6:ssh         192.168.1.105:27443     ESTABLISHEDtcp        0      0 192.168.1.6:59947       116.211.167.193:http    TIME_WAIT  ...Active UNIX domain sockets (servers and established)Proto RefCnt Flags       Type       State         I-Node   Pathunix  2      [ ACC ]     STREAM     LISTENING     20526    private/localunix  2      [ ACC ]     STREAM     LISTENING     20529    private/virtual...

说明:

从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。 Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

2) 列出所有 tcp 端口 netstat -at

[root@bash young]# netstat -atActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State      tcp        0      0 localhost:discp-client  0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:mysql           0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:x11             0.0.0.0:*               LISTEN...

3)列出所有 udp 端口 netstat -au

[root@bash young]# netstat -auActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State      udp        0      0 localhost:323           0.0.0.0:*                          udp6       0      0 localhost:323           [::]:*

4)只显示监听端口 netstat -l

[root@bash young]# netstat -lActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State      tcp        0      0 localhost:discp-client  0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:mysql           0.0.0.0:*               LISTEN     tcp        0      0 0.0.0.0:x11             0.0.0.0:*               LISTEN

5)只列出所有监听 udp 端口 netstat -lu

[root@bash young]# netstat -luActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State      udp        0      0 localhost:323           0.0.0.0:*                          udp6       0      0 localhost:323           [::]:*

说明:只显示监听的tcp端口为 netstat -tl,只显示监听的unix端口为 netstat -lx

6)显示所有端口的统计信息 netstat -s

[root@bash young]# netstat -sIp:    1409453 total packets received    0 forwarded    0 incoming packets discarded    1262997 incoming packets delivered    1279112 requests sent out...

7) 显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

# netstat -st # netstat -su

8) 在 netstat 输出中显示 PID 和进程名称 netstat -p

[root@bash young]# netstat -tpActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0     96 192.168.1.6:ssh         192.168.1.105:27443     ESTABLISHED 45793/sshd: root@pt tcp        0      0 192.168.1.6:60000       116.211.167.193:http    TIME_WAIT   -  ...

9) 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

#netstat -an

10) 持续输出 netstat 信息

#netstat -c

五、ss命令

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

小贴士:为什么ss比netstat快

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

常用选项:

        -t: tcp协议相关        -u: udp        -p: process        -l: listening        -n: numeric        -a: all        -e: 扩展信息        -m: 内存使用信息        -o state {established|fin_wait_1|listening|...}

小贴士:ss基本用法同netstat一致下文实例只列出不同用法

实例:

1)ss列出所有http连接中的连接

[root@bash young]# ss -o state established '( dport = :http or sport = :http )'Netid Recv-Q Send-Q          Local Address:Port                           Peer Address:Port                tcp   0      0                 192.168.1.6:50036                         118.144.78.39:http                 tcp   0      0                 192.168.1.6:60218                       116.211.167.193:http                  timer:(keepalive,9.506ms,0)tcp   0      0                 192.168.1.6:60214                       116.211.167.193:http

说明:以上包含对外提供的80,以及访问外部的80

2)列出本地哪个进程连接到x server

# ss -x src /tmp/.X11-unix/*

3)列出处在FIN-WAIT-1状态的http、https连接

[root@bash young]# ss -o state fin-wait-1 '( sport = :http or sport = :https )'#注意括号里面空格必须存在否则语法报错Netid Recv-Q Send-Q          Local Address:Port                           Peer Address:Port

ss常用的state状态:

establishedsyn-sentsyn-recvfin-wait-1fin-wait-2time-waitclosedclose-waitlast-acklistenclosingall : All of the above statesconnected : All the states except for listen and closedsynchronized : All the connected states except for syn-sentbucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.big : Opposite to bucket state.

4)ss使用IP地址筛选

[root@bash young]# ss src 192.168.1.6Netid State      Recv-Q Send-Q     Local Address:Port                      Peer Address:Port                udp   ESTAB      0      0            192.168.1.6:57449                   83.168.200.199:ntp                  udp   ESTAB      0      0            192.168.1.6:36484                  173.255.215.209:ntp                  tcp   ESTAB      0      96           192.168.1.6:ssh                      192.168.1.105:27443

说明:

ss src ADDRESS_PATTERN[:PORT]src:表示来源ADDRESS_PATTERN:表示地址规则

5)ss使用端口筛选

ss dport OP PORTOP:是运算符PORT:表示端口dport:表示过滤目标端口、相反的有sportOP运算符如下:<= or le : 小于等于 >= or ge : 大于等于== or eq : 等于!= or ne : 不等于端口< or lt : 小于这个端口 > or gt : 大于端口

OP实例:

ss sport = :http 也可以是 ss sport = :80ss dport = :httpss dport \> :1024 #注意字符转义ss sport \> :1024 ss sport \< :32000ss sport eq :22ss dport != :22ss state connected sport = :httpss \( sport =
端口 命令 信息 地址 数据 监听 网络 主机 实例 进程 常用 状态 统计 输出 大小 时间 路径 参数 名称 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海互联网科技有限公司 齐家互联网科技 宜安科技 互联网金融 壹账通互联网科技 互联网金融 科技创新 彤创互联网科技有限公司 语蝶互联网科技有限公司 中国航天科技大学国际工业互联网 互联网科技扶贫时间 国大互联网教育科技有限公司工作 天津腾达互联网科技有限公司 互联网科技创新的路径 保险科技服务互联网营销体系 互联网科技圈年度人物 每天都有哪些好的互联网科技 科技互联网专业工作会议发言稿 亚光科技低轨卫星互联网 科技美学互联网 艺术 山东亿川互联网科技有限责任公司 株洲百竞科技的互联网营销顾问 互联网科技深圳 互联网 的科技创新 碳银互联网科技有限公司 广州善班互联网科技 上海亿帐通互联网科技 徐州市互联网科技有限公司 无锡工业互联网科技有限公司 山东有哪些互联网科技公司 下一代互联网重大应用科技园 同城互联网络科技
0