网站搜索

用于系统管理员的 22 个 Linux 网络命令


系统管理员的日常任务包括配置、维护、故障排除以及管理数据中心内的服务器和网络。 Linux 中有许多专为管理目的而设计的工具和实用程序。

在本文中,我们将在不同类别下回顾一些最常用的 Linux 网络管理命令行工具和实用程序。我们将解释一些常见的用法示例,这将使 Linux 中的网络管理变得更加容易。

在本页

  • ifconfig 命令
  • ip命令
  • ifup 命令
  • ethtool 命令
  • ping命令
  • 路由跟踪命令
  • 地铁命令
  • 路由命令
  • nmcli 命令
  • netstat命令
  • SS命令
  • 数控命令
  • nmap 命令
  • 主机命令
  • 挖掘命令
  • nslookup 命令
  • tcpdump 命令
  • Wireshark实用程序
  • bmon 工具
  • iptables 防火墙
  • 防火墙
  • UFW 防火墙

该列表对于全职 Linux 网络工程师同样有用。

网络配置、故障排除和调试工具

1.ifconfig命令

ifconfig 是用于网络接口配置的命令行界面工具,也用于在系统引导时初始化接口。服务器启动并运行后,即可将 IP 地址分配给接口,并根据需要启用或禁用该接口。

它还用于查看当前活动接口的 IP 地址、硬件/MAC 地址以及 MTU(最大传输单元)大小。因此,ifconfig 对于调试或执行系统调整非常有用。

以下是显示所有活动网络接口状态的示例。

ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

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:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

要列出当前可用的所有接口,无论是向上还是向下,请使用-a标志。

ifconfig -a 	

要将 IP 地址分配给接口,请使用以下命令。

sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

要激活网络接口,请键入。

sudo ifconfig up eth0

要停用或关闭网络接口,请键入。

sudo ifconfig down eth0

注意:虽然ifconfig是一个很棒的工具,但它现在已经过时(不推荐使用),它的替代品是ip命令

2.IP命令

ip 命令是另一个有用的命令行实用程序,用于显示和操作路由、网络设备、接口。它是 ifconfig 和许多其他网络命令的替代品。 (阅读我们的文章“ifconfig 和 ip 命令之间的区别”以了解更多信息。)

以下命令将显示有关网络接口的 IP 地址和其他信息。

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

要将 IP 地址临时分配给特定网络接口 (eth0),请键入。

sudo ip addr add 192.168.56.1 dev eth0

要从网络接口 (eth0) 中删除分配的 IP 地址,请键入。

sudo ip addr del 192.168.56.15/24 dev eth0

要显示内核中当前的邻居表,请键入。

ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

3. ifup、ifdown 和 ifquery 命令

ifup 命令激活网络接口,使其可用于传输和接收数据。

sudo ifup eth0

ifdown 命令禁用网络接口,使其处于无法传输或接收数据的状态。

sudo ifdown eth0

ifquery 命令用于解析网络接口配置,使您能够接收有关其当前配置方式的查询的答案。

sudo ifquery eth0

4.Ethtool命令

ethtool 是一个命令行实用程序,用于查询和修改网络接口控制器参数和设备驱动程序。下面的示例显示了 ethtool 的用法以及查看网络接口参数的命令。

sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

5. Ping命令

ping(Packet Internet Groper)是一种实用程序,通常用于测试网络(局域网 (LAN) 或<广域网(WAN))。它使用ICMP互联网控制消息协议)与网络上的节点进行通信。

例如,要测试与另一个节点的连接,只需提供其 IP 或主机名即可。

ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

您还可以使用 -c 标志告诉 ping 在指定数量的 ECHO_REQUEST 数据包后退出,如图所示。

ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

6. 路由跟踪命令

Traceroute 是一个命令行实用程序,用于跟踪从本地系统到另一个网络系统的完整路径。它会打印您到达终端服务器的路径中的跃点数(路由器 IP)。它是继 ping 命令之后又一个易于使用的网络故障排除实用程序。

在此示例中,我们跟踪从本地系统到 IP 地址为 216.58.204.46 的 Google 服务器之一的路由数据包。

traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

7. 港铁网络诊断工具

MTR 是一种现代命令行网络诊断工具,它将 pingtraceroute 的功能结合到一个诊断工具中。默认情况下,其输出会实时更新,直到您按 q 退出程序。

运行 mtr 的最简单方法是为其提供主机名或 IP 地址作为参数,如下所示。

mtr google.com
OR
mtr 216.58.223.78
样本输出
linux-console.net (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

您可以将 ping 数量限制为特定值,并在这些 ping 后退出 mtr,使用 -c 标志,如图所示。

mtr -c 4 google.com

8. 路线命令

route 是一个命令行实用程序,用于显示或操作 Linux 系统的 IP 路由表。主要用于通过接口配置到特定主机或网络的静态路由。

您可以通过键入来查看内核 IP 路由表。

route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

您可以使用许多命令来配置路由。以下是一些有用的:

将默认网关添加到路由表中。

sudo route add default gw <gateway-ip>

将网络路由添加到路由表中。

sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

从路由表中删除特定的路由条目。

sudo route del -net <network ip/cidr>

9.Nmcli命令

Nmcli 是一个易于使用、可编写脚本的命令行工具,用于报告网络状态、管理网络连接和控制NetworkManager

要查看所有网络设备,请键入。

nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

要检查系统上的网络连接,请键入。

nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

要仅查看活动连接,请添加 -a 标志。

nmcli con show -a

网络扫描和性能分析工具

10.netstat命令

netstat 是一个命令行工具,它显示有关 Linux 网络子系统的有用信息,例如网络连接、路由表、接口统计信息等。它对于网络故障排除和性能分析非常有用。

此外,它也是一个基本的网络服务调试工具,用于检查哪些程序正在侦听哪些端口。例如,以下命令将显示处于侦听模式的所有 TCP 端口以及哪些程序正在侦听它们。

sudo netstat -tnlp

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:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

要查看内核路由表,请使用 -r 标志(相当于运行上面的 route 命令)。

netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

注意:虽然 Netstat 是一个很棒的工具,但它现在已过时(不推荐使用),其替代品是 ss 命令,如下所述。

11. ss命令

ss(套接字统计)是一个强大的命令行实用程序,用于调查套接字。它转储套接字统计信息并显示类似于 netstat 的信息。此外,与其他类似实用程序相比,它还显示更多 TCP 和状态信息。

以下示例演示如何列出服务器上打开的所有 TCP 端口(套接字)。

ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

要显示所有活动的 TCP 连接及其计时器,请运行以下命令。

ss -to

12. NC指令

NC (NetCat) 也被称为“网络瑞士军刀”,是一个功能强大的实用程序,用于几乎所有与 TCP、UDP 或 UNIX 域套接字相关的任务。它用于打开 TCP 连接、侦听任意 TCP 和 UDP 端口、执行端口扫描等。

您还可以将其用作简单的 TCP 代理,用于网络守护程序测试、检查远程端口是否可达等等。此外,您还可以使用nc与pv命令一起在两台计算机之间传输文件。

以下示例将展示如何扫描端口列表。

nc -zv server2.tecmint.lan 21 22 80 443 3000

您还可以指定端口范围,如图所示。

nc -zv server2.tecmint.lan 20-90

以下示例显示如何使用 nc 打开到 server2.howtoing.lan 上端口 5000 的 TCP 连接(使用端口 3000) 作为源端口,超时时间为10秒。

nc -p 3000 -w 10 server2.tecmint.lan 5000 

13.Nmap命令

Nmap(网络映射器)对于 Linux 系统/网络管理员来说是一个功能强大且用途极其广泛的工具。它用于收集有关单个主机的信息或探索整个网络的网络。 Nmap 还用于执行安全扫描、网络审核和查找远程主机上的开放端口等等。

例如,您可以使用主机名或 IP 地址扫描主机。

nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

或者,也可以使用所示的 IP 地址。

nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

请阅读以下有关 nmap 命令的有用文章。

  1. 如何在 Linux 中使用 Nmap 脚本引擎 (NSE) 脚本
  2. Kali Linux 中 Nmap(网络安全扫描器)实用指南
  3. 找出 Linux 中网络上连接的所有活动主机 IP 地址

DNS 查找实用程序

14. 主机命令

host 命令是一个用于执行 DNS 查找的简单实用程序,它将主机名转换为 IP 地址,反之亦然。

host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

15.挖掘命令

dig(域名信息探索器)也是另一个简单的 DNS 查找实用程序,用于查询 DNS 相关信息,如 A 记录、CNAME、MX 记录等,例如:

dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

16.NSLookup命令

Nslookup 也是一种流行的命令行实用程序,用于以交互方式和非交互方式查询 DNS 服务器。它用于查询 DNS 资源记录 (RR)。您可以找到域的“A”记录(IP地址),如图所示。

nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

您还可以执行反向域查找,如图所示。

nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

Linux 网络数据包分析器

17. Tcpdump命令

Tcpdump 是一个非常强大且广泛使用的命令行网络嗅探器。它用于捕获和分析通过特定接口上的网络传输或接收的 TCP/IP 数据包。

要从给定接口捕获数据包,请使用 -i 选项指定它。

tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP linux-console.net.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > linux-console.net.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP linux-console.net.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > linux-console.net.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP linux-console.net.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

要捕获特定数量的数据包,请使用 -c 选项输入所需的数量。

tcpdump -c 5 -i eth1

您还可以捕获数据包并将其保存到文件中以供以后分析,使用 -w 标志指定输出文件。

tcpdump -w captured.pacs -i eth1

18.Wireshark实用程序

Wireshark 是一种流行、强大、多功能且易于使用的工具,用于实时捕获和分析数据包交换网络中的数据包。

您还可以将其捕获的数据保存到文件中以供以后检查。系统管理员和网络工程师使用它来监视和检查数据包,以实现安全和故障排除目的。

19.Bmon工具

bmon 是一个强大的、基于命令行的网络监控和调试实用程序,适用于类 Unix 系统,它捕获与网络相关的统计数据并以人类友好的格式直观地打印它们。它是一种可靠且有效的实时带宽监控器和速率估计器。

Linux 防火墙管理工具

20.Iptables防火墙

iptables 是一个命令行工具,用于配置、维护和检查 IP 数据包过滤和 NAT 规则集表。它用于设置和管理Linux防火墙(Netfilter)。它允许您列出现有的数据包过滤规则;添加或删除或修改数据包过滤规则;列出数据包过滤规则的每规则计数器。

您可以从我们简单而全面的指南中了解如何将 Iptables 用于各种目的。

  1. IPTables(Linux 防火墙)提示/命令基本指南
  2. 每个 Linux 管理员都应该知道的 25 条有用的 IPtable 防火墙规则
  3. 如何设置 Iptables 防火墙以启用对服务的远程访问
  4. 如何阻止对 Linux 系统的 Ping ICMP 请求

21. 防火墙

Firewalld 是一个强大的动态守护进程,用于管理 Linux 防火墙 (Netfilter),就像 iptables 一样。它使用“网络区域”代替 iptables 中的 INPUT、OUTPUT 和 FORWARD CHAINS。在当前的 Linux 发行版(例如 RHEL/CentOS 7Fedora 21+)上,iptables 正在积极被 firewalld 取代。

要开始使用 firewalld,请参阅下面列出的指南:

  1. 在 Linux 中配置和管理防火墙的有用“FirewallD”规则
  2. 如何在 RHEL/CentOS 7 和 Fedora 21 中配置“FirewallD”
  3. 如何在 Linux 中启动/停止以及启用/禁用 FirewallD 和 Iptables 防火墙
  4. 设置 Samba 并配置 FirewallD 和 SELinux 以允许在 Linux/Windows 上共享文件

重要:仍然支持 Iptables,并且可以使用 YUM 包管理器进行安装。但是,您不能在同一服务器上同时使用 Firewalldiptables - 您必须选择其中之一。

22.UFW(简单防火墙)

UFW 是 DebianUbuntu Linux 发行版上众所周知的默认防火墙配置工具。它用于启用/禁用系统防火墙,添加/删除/修改/重置数据包过滤规则等等。

要检查 UFW 防火墙状态,请键入。

sudo ufw status

如果 UFW 防火墙未激活,您可以使用以下命令激活或启用它。

sudo ufw enable

要禁用 UFW 防火墙,请使用以下命令。

sudo ufw disable 

阅读我们的文章如何在 Ubuntu 和 Debian 上设置 UFW 防火墙。

如果您想查找有关特定程序的更多信息,可以查阅其手册页,如图所示。

man programs_name

目前为止就这样了!在这份综合指南中,我们回顾了一些最常用的 Linux 网络管理命令行工具和实用程序,它们按不同类别分类,对于系统管理员而言,对于全职网络管理员/工程师同样有用。

您可以通过下面的评论表分享您对本指南的看法。如果我们错过了任何常用且重要的 Linux 网络工具/实用程序或任何有用的相关信息,也请告诉我们。