📜  Linux 中用于网络管理的命令行工具和实用程序

📅  最后修改于: 2022-05-13 01:57:30.310000             🧑  作者: Mango

Linux 中用于网络管理的命令行工具和实用程序

如果您正在考虑成为系统管理员,或者您已经是系统管理员,那么本文适合您。

作为系统管理员,您的日常工作将包括配置、维护、故障排除、监控、保护网络和管理数据中心内的服务器。网络配置和故障排除是系统管理员知道要执行的一些重要任务。

有时联网系统会出现故障,您作为系统管理员必须诊断和解决问题。因此,谈到 Linux,您作为系统管理员将可以访问 Linux 中的众多工具和实用程序,这些工具和实用程序专为管理目的而设计,我们今天将在本文中讨论其中的 13 个。

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

1.ifconfig 命令:

Ifconfig 是 Linux 中用于网络接口配置的系统管理实用程序,用于在系统启动时初始化接口。 ifconfig 中提供了配置、控制和查询 TCP/IP 网络接口参数等功能。设置任何网络接口的 IP 地址和网络掩码以及禁用或启用任何接口是 ifconfig 的一些用法。

可以查看当前活动接口的 IP 地址、硬件/MAC 地址和 MTU(最大传输单元)大小的状态



可以使用以下命令查看所有活动网络接口的状态:-

$ ifconfig

Linux 系统管理员的网络管理、故障排除和调试指南

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

$ ifconfig -a  

要为接口分配 IP 地址,请运行以下命令:

$ sudo ifconfig eth0 195.167.54.6 netmask 255.255.255.0

要激活网络接口,请使用以下命令:

$ sudo ifconfig up eth0

要停用或关闭网络接口,请运行以下命令:

$ sudo ifconfig down eth0

2. Ethtool 命令:

Ethtool 是另一个命令行实用程序,用于显示和修改网络接口控制器 (NIC) 参数和设备驱动程序软件。该工具还可用于识别和诊断以太网设备、升级闪存中的固件等。

要显示网络接口的当前参数,请使用以下命令:-



ethtool [network interface]

Linux 系统管理员的网络管理、故障排除和调试指南

3. IP 命令:

IP 命令是ifconfig命令的替代品。此命令用于执行不同的网络管理任务。该命令用于显示或操作路由、设备、网络设备和隧道。虽然它类似于 ifconfig 命令,但它的功能太强大了,包括更多的功能和设施。

使用以下命令显示有关网络接口的 IP 地址和其他信息:-

$ ip addr show

Linux 系统管理员的网络管理、故障排除和调试指南

要临时将 IP 地址分配给特定网络接口 (eth0),请使用以下命令:-

$ sudo ip addr add 195.162.54.2 dev eth0

要从网络接口 (eth0) 中删除分配的 IP 地址,请使用以下命令:-

$ sudo ip addr del 195.162.54.15/24 dev eth0

在内核中显示当前邻居表,使用以下命令:-

$ ip neigh

Linux 系统管理员的网络管理、故障排除和调试指南

4、ifup、ifdown、ifquery命令:

Ifup 命令通常会打开网络接口,允许用户使用以下命令发送和接收数据:

$ sudo ifup eth0

Ifup 命令通常会关闭网络接口,这不允许用户使用以下命令传输和接收数据:



$ sudo ifdown eth0

要显示有关网络接口配置的信息,我们使用 ifquery 命令使用以下命令:

sudo ifquery eth0

5. ping 命令:

Ping(Packet Internet Groper)命令是一种计算机网络管理软件实用程序,用于测试局域网 (LAN) 或广域网 (WAN) 上两个系统之间的可达性。

为了与网络上的节点通信,ping 将 Internet 控制消息协议 (ICMP) 回显请求数据包发送到目标主机,并等待显示 ping 成功的 ICMP 回显回复。

为了测试到另一个节点的连通性,我们必须提供 IP 地址/主机名,语法如下所示:

IPv4: ping  / 
IPv6: ping6  / 

Linux 系统管理员的网络管理、故障排除和调试指南

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

Linux 系统管理员的网络管理、故障排除和调试指南

6.netstat 命令:

netstat 是一个命令行实用程序,用于获取有关网络连接、路由表、接口统计信息的有用信息。它对于查找网络中的问题并对其进行故障排除以及确定网络上的流量也非常有用。

由于 netstat 是一个网络服务调试工具,它用于检查哪些程序正在侦听哪些端口。要通过在侦听模式下显示所有 TCP 端口来检查哪个程序正在侦听哪个端口,请使用以下命令:

$ sudo netstat -tnlp

Linux 系统管理员的网络管理、故障排除和调试指南



要查看内核路由表,我们必须使用 -r 标志(相当于我们讨论过的运行 route 命令)。

Linux 系统管理员的网络管理、故障排除和调试指南

用于显示所有端口; (仅指定 TCP 使用 -at,UDP 使用 -au)使用以下命令:

$ netstat -a 

Linux 系统管理员的网络管理、故障排除和调试指南

用于使用 -i标志显示每个接口的传输/接收 (TX/RX) 数据包统计信息

7. 数控指令:

NC (NetCat) 是一个伟大的安全工具或网络监控工具实用程序,它通常被称为网络工具的瑞士军刀。

它用于使用 TCP 或 UDP 读取和写入网络连接。它具有一些显着的功能,包括端口扫描、传输文件和端口侦听,并且可以用作后门 由黑客。

Netcat (nc) 暗示与 pv 命令一起可以用于在两台计算机之间传输文件。

用于执行端口扫描。运行以下命令:-

$netcat -z -v 127.0.0.1 1234 (Scanning a single port)
$nc -z -v 127.0.0.1 1234 1235 (Scanning multiple ports)
$nc -z -v 127.0.0.1 1233-1240 (Scanning a range of ports)

要在任何网站上发送 HHTP,假设我在 GeeksforGeeks 上发送它,然后使用以下命令:-



printf “GET /nc.1 HTTPs/1.1\r\nHost: www.geeksforgeeks.org\r\n\r\n” | nc www.geeksforgeeks.org 80 

8. Nmap 命令:

Nmap (Network Mapper) 是一款功能强大的免费开源网络扫描器,适用于 Linux 系统/网络管理员。为了发现计算机网络上的主机和服务,Nmap 用于发送数据包。 Nmap 功能包括端口扫描、MAC 地址检测、版本检测、操作系统检测、网络清单、网络映射等。

我们可以使用主机名或 IP 地址扫描主机,使用以下命令:-

nmap google.com
nmap 

9. NSLookup 命令:

Nslookup(“名称服务器查找”)是一种网络管理命令行工具,可交互和非交互地查询 DNS 服务器,以获取域名或 IP 地址映射以及 DNS 资源记录 (RR)。

写入以下命令后将显示域的IP地址:-

$ nslookup [domain name]

Linux 系统管理员的网络管理、故障排除和调试指南

我们还可以使用以下命令执行反向域查找:-

$ nslookup [ip address]

16. dig 命令:

dig(域信息搜索器)命令行工具,用于查询域名系统。使用此命令检索与 NS 相关的信息,例如 A Record、CNAME、MX Record 等。 NsLookup 和 host 命令被 dig 命令替换。

Linux 系统管理员的网络管理、故障排除和调试指南

10. tcpdump 命令

Tcpdump 是一个强大的数据网络数据包分析器,用于捕获传输或接收的数据包中的网络流量。系统管理员使用此命令来解决 Linux 中的连接问题。 tcpdump 侦听网络流量并根据我们给出的关于特定端口、协议等的不同标准打印数据包信息。捕获的信息保存在 pcap 文件中,然后可以通过 Wireshark 或通过 tcpdump 命令本身打开该文件.

Syntax:
tcpdump -i   [ live packets from the specified interface wil be displayed.]
tcpdump -i  src [  packets are captured from a particular source IP.]
tcpdump -i  dst   [packets are captured from a particular destination IP.]
tcpdump -c 5 -i  [ capture a specific number of packets]
tcpdump -w captured.pacs -i    [ capture and save packets to a file ]

Linux 系统管理员的网络管理、故障排除和调试指南Linux 系统管理员的网络管理、故障排除和调试指南

11. Wireshark 实用程序:

Wireshark 是一个很棒的实用程序,可以在 GUI 模式下实时捕获和分析数据包。 Wireshark 被认为是非常重要的网络相关专业人士。捕获的数据可以保存以供日后检查。

12. iptables 防火墙:

iptables 是一个类似防火墙的包过滤实用程序,系统管理员使用它来配置、维护和检查 Linux 内核防火墙的 IP 包过滤规则。 Linux 防火墙(Netfilter)由 iptables 设置和管理。 iptables 允许您在现有包过滤规则中添加或删除或修改包过滤规则。

Syntax:
iptables -L (lists of all the existing iptables rules.)
iptables -A INPUT -i  -p tcp –dport  -m state –state NEW,ESTABLISHED -j ACCEPT  ( it will allow  traffic from the specified port number to the specified interface)
iptables -A INPUT -i lo -j ACCEPT (allow loopback access to the system)

13. UFW(简单防火墙):

Uncomplicated Firewall (UFW) 管理 Netfilter 防火墙,是 Debian 和 Ubuntu Linux 发行版上的知名程序和默认防火墙配置工具。它使用 iptables 进行配置。

检查 UFW 防火墙状态,键入以下命令:

$ sudo ufw status

Linux 系统管理员的网络管理、故障排除和调试指南

使用以下命令激活和禁用 UFW 防火墙:

$ sudo ufw enable
$ sudo ufw disable 

您可以通过键入以下命令来获取 Gui 版本:

$ gufw

Linux 系统管理员的网络管理、故障排除和调试指南

要查找有关特定程序的更多信息,请参阅手册页:

$ man programs_name