运维之道 | Linux常用网络命令

一、ping命令:测试网络连通性

ping是常用的网络命令,主要通过ICMP协议进行网络探测,探测网络中个主机的连通性。基本信息如下:

ping命令的常见选项

  • -b:后面加入广播地址,用于对整个网段进行探测;
  • -c:次数:用于指定 ping 的次数;
1、ping IP/域名
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=31.4 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=15.5 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 15.521/23.464/31.408/7.944 ms
2、ping -c 次数 IP/域名——>指定ping包的次数
[root@localhost ~]# ping -c 3 www.baidu.com
PING www.wshifen.com (104.193.88.123) 56(84) bytes of data.
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=1 ttl=128 time=178 ms
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=2 ttl=128 time=177 ms
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=3 ttl=128 time=179 ms

--- www.wshifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 177.760/178.483/179.505/0.743 ms
#这里主要看的是丢包率,如果丢包率过高,说明网络很差劲
3、"-b "选项:后面加入广播地址(即ping网管),用于对整个网段进行测试
[root@localhost ~]# ping -b 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=5.18 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=5.56 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=3.29 ms
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.299/4.680/5.562/0.990 ms

二、ifconfig命令:查看和设置网卡信息

ifconfig(interfaces config),通常需要root身份登录或使用sudo来使用ifconfig工具;
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变是可通过次命令对网络进行相应的配置;
用 ifconfig命令配置的网卡信息,在网卡重启后机器或机器重启后,配置就失效了。如果需要该配置长期有效,就需要修改配置文件;
ifconfig 是Linux中查看和临时修改 IP 地址的命令,基本信息如下:
1、查看当前计算机网卡的信息
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.182.11  netmask 255.255.255.0  broadcast 192.168.182.255
        inet6 fe80::3880:d5b7:c34d:b0fb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:03:cd  txqueuelen 1000  (Ethernet)
        RX packets 8908  bytes 8388118 (7.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4287  bytes 469480 (458.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 112  bytes 10084 (9.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 112  bytes 10084 (9.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
2、临时配置IP地址:一旦主机中期,就会失效,如果需要长期有效,就需要修改配置文件
[root@localhost ~]# ifconfig eth1 192.168.30.30
[root@localhost ~]# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:0C:29:5E:76:E7  
          inet addr:192.168.30.30  Bcast:192.168.30.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5e:76e7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12477 (12.1 KiB)  TX bytes:11352 (11.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2724 (2.6 KiB)  TX bytes:2724 (2.6 KiB)
3、禁止或者重新激活网卡
[root@localhost ~]# ifconfig ens33 down	 ///禁止
[root@localhost ~]# ifconfig ens33 up    ///激活

三、traceroute 命令:显示数据包到主机之间的路径

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

traceroute:路由跟踪命令,下图中 * 是目标禁止ping;
运维之道 | Linux常用网络命令_第1张图片


四、netstat命令:查看网络状态

netstat 是网络状态查看命令,即可以查看本机开启的端口,也可以查看哪些客户端连接
netstat命令常见选项:
  • -t:列出TCP协议端口
  • -u:列出UDP协议端口
  • -n:不使用域名与服务名,而使用IP地址和端口号
  • -l:仅列出在监听状态网络服务(只有TCP有监听状态)
  • -a:列出所有网络连接
  • -r:列出路由列表
  • -p:显示PID和程序名
常用范例:
  • netstat -tlun : 查看本机监听的端口
  • netstat -an : 查看本机所有的网络连接
  • netstat -rn : 查看本机的路由表。其实route命令功能一样的
1、查看本机监听的端口
  • IP地址只能找到某台服务器,而端口就是这台服务器所开启的服务。要让那个服务响应该服务请求就要看该服务器开了哪些端口,即通过这条命令可以看到计算机启动了哪些服务。
  • TCP协议才可以直接接触访问,因此有Listen(代表状态是监听的);UDP协议没有监听的这么一说;
[root@localhost ~]# netstat -antl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     96 192.168.182.11:22       192.168.182.1:65487     ESTABLISHED
tcp        0      0 192.168.182.11:22       192.168.182.1:65476     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN
2、查看本机路由表(相当于route命令)
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.182.2   0.0.0.0         UG        0 0          0 ens33
0.0.0.0         192.168.56.2    0.0.0.0         UG        0 0          0 ens37
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 ens37
192.168.182.0   0.0.0.0         255.255.255.0   U         0 0          0 ens33

五、nslookup命令:进行域名与IP地址解析

安装命令:yum install -y bind-utils

[root@localhost ~]# nslook
-bash: nslook: 未找到命令
[root@localhost ~]# nslookup
> baidu.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   baidu.com
Address: 220.181.38.148
Name:   baidu.com
Address: 39.156.69.79
> server
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 114.114.114.114
Address: 114.114.114.114#53

六、route命令:查看路由表条目

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
default         gateway         0.0.0.0         UG    101    0        0 ens37
192.168.56.0    0.0.0.0         255.255.255.0   U     101    0        0 ens37
192.168.182.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

七、arp命令:查询arp缓冲区中指定主机的arp条目

arp命令用于操作主机arp缓冲区,可以显示arp缓冲区的所有条目、删除指定条目或增加静态IP地址与MAC地址的对应关系
常用选项:
  • -a:<主机>:显示arp缓冲区的所有条目
  • -H:<地址类型>:指定arp指令使用的地址类型
  • -d:<主机>:从arp缓冲区中删除指定主机的arp条目
  • -D:使用指定接口的硬件地址
  • -e:以Linux的显示风格显示arp缓冲区中的条目
  • -i:<接口>:指定要操作arp缓冲区的网络接口
  • -s:<主机><硬件地址>:设置指定主机的IP地址与MAC地址的静态映射
  • -n:以数字方式显示arp缓冲区中的条目
  • -v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息
  • -f:<文件>:设置主机的IP地址与MAC地址的静态映射
[root@localhost ~]# arp 
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.182.1            ether   00:50:56:c0:00:08   C                     ens33
gateway                  ether   00:50:56:eb:94:9f   C                     ens33
[root@localhost ~]# arp -v
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.182.1            ether   00:50:56:c0:00:08   C                     ens33
gateway                  ether   00:50:56:eb:94:9f   C                     ens33
Entries: 2      Skipped: 0      Found: 2

八、host命令:域名分析工具

host命令是常用的分析域名查询工具,可以检测域名系统工作是否正常
常用选项:
  • -a:显示详细的DNS信息
  • -c:<类型>:指定查询类型,默认值为“IN”
  • -C:查询指定主机的完整SOA记录
  • -r:在查询域名时,不使用递归的查询方式
  • -t:<类型>:指定查询第域名信息类型
  • -v:显示指令执行的详细信息
  • -a:显示详细的DNS信息;
  • -w:如果域名服务器没有给出应答信息,则一直等待,直到域名服务器给出应答
  • -W:<时间>:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令
  • -4:使用IPv4
  • -6:使用IPv6
[root@localhost ~]# host www.baidu.com    
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com is an alias for www.wshifen.com.
www.wshifen.com has address 104.193.88.123
www.wshifen.com has address 104.193.88.77

[root@localhost ~]# host -a www.baidu.com 
Trying "www.baidu.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29318
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.                 IN      ANY

;; ANSWER SECTION:
www.baidu.com.          980     IN      CNAME   www.a.shifen.com.

Received 58 bytes from 8.8.8.8#53 in 65 ms

你可能感兴趣的:(网络)