在本文中,我们将回顾一些最常用的 Linux 网络管理命令工具和程序。并对这些命令进行解释和说明,以便我们更好的掌握。
01 ifconfig命令
ifconfig
是一个用于网络接口配置的命令行接口工具。也用于在系统启动时初始化网卡接口,也可用于为接口分配 IP 地址并按需启用或禁用接口。它还用于查看当前活动接口的 IP地址
、硬件MAC
地址以及 MTU
(最大传输单元)大小。
示例
代码语言:javascript复制ifconfig
要列出当前可用的所有接口,无论是up
还是down
,请后面加-a
参数。
ifconfig -a
要将 IP 地址分配给接口,请使用以下命令。
代码语言:javascript复制ifconfig eth0 192.168.56.5 netmask 255.255.255.0
激活网络接口。
代码语言:javascript复制ifconfig up wlan0
要停用或关闭网络接口
代码语言:javascript复制ifconfig down wlan0
注意: 虽然ifconfig是一个很棒的工具,但它现在已经过时(不推荐使用),它的替代品是下面解释的ip
命令。
02 IP命令
ip
命令是另一个有用的命令行实用程序,用于显示和操作路由、网络设备、接口。它是ifconfig和许多其他网络命令的替代品。
示例
代码语言:javascript复制ip addr show
将 IP 地址临时分配给特定网络接口 ( eth0 )
代码语言:javascript复制ip addr add 192.168.56.1 dev eth0
要从网络接口 ( eth0 ) 中删除分配的 IP 地址
代码语言:javascript复制ip addr del 192.168.56.15/24 dev eth0
显示内核中的当前邻居表
代码语言:javascript复制ip neigh
03 ifup、ifdown 和 ifquery 命令
ifup
命令激活网络接口,使其可用于传输和接收数据。
ifup eth0
ifdown
命令禁用网络接口,使其处于无法传输或接收数据的状态。
ifdown eth0
ifquery
命令用于解析网络接口配置,使您能够接收有关当前配置方式的查询的答案。
ifquery eth0
04 Ethtool 命令
ethtool
是一个命令行实用程序,用于查询和修改网络接口控制器参数和设备驱动程序。下面的示例显示了ethtool的用法和查看网络接口参数的命令。
ethtool eth0
05 Ping 命令
ping ( Packet INternet Groper ) 是一种实用程序,通常用于测试网络(局域网( LAN ) 或广域网( WAN ))上两个系统之间的连接性。它使用ICMP(互联网控制消息协议)与网络上的节点进行通信。
例如,要测试与另一个节点的连接,只需提供其 IP 或主机名。
代码语言:javascript复制ping bbskali.cn
您还可以使用所示的-c
标志告诉 ping 在指定数量的ECHO_REQUEST数据包后退出。
ping -c 6 bbskali.cn
06 Traceroute 命令
Traceroute
命令用于跟踪从本地系统到另一个网络系统的完整路径。它会在您到达最终服务器的路径中打印许多跃点(路由器 IP)。它是 ping 命令之后易于使用的网络故障排除实用程序。
在此示例中,我们正在跟踪从本地系统到bbskali.cn
服务器之间的路由数据包。
traceroute bbskali.cn
07 MTR
MTR
将ping和traceroute的功能组合到一个诊断工具中。默认情况下,它的输出会实时更新,直到您按Q
退出程序。
mtr bbskali.cn
08 route命令
route用于显示或操纵Linux系统的IP路由表中的命令行。用于通过接口配置到特定主机或网络的静态路由。
代码语言:javascript复制route
09 Nmcli 命令
Nmcli是一个易于使用、可编写脚本的命令行工具,用于报告网络状态、管理网络连接和控制NetworkManager。
查看当前的网络连接
代码语言:javascript复制nmcli con show
10 Netstat 命令
netstat是一个命令行工具,可显示有关 Linux 网络子系统的有用信息,例如网络连接、路由表、接口统计信息等等。它对于网络故障排除和性能分析很有用。 此外,它还是一个基本的网络服务调试工具,用于检查哪些程序正在侦听哪些端口。例如,以下命令将显示处于侦听模式的所有 TCP 端口以及正在侦听的程序。
代码语言:javascript复制netstat -tnlp
查看路由表
代码语言:javascript复制netstat -r
11 ss 命令
ss (socket statistics)统计TCP信息并显示类似于netstat 的信息。此外,与其他类似的实用程序相比,它显示了更多的 TCP 和状态信息。 显示服务器上打开的所有TCP端口
12 nc命令
nc称为“网络瑞士军刀”将它用作简单的 TCP 代理,用于网络守护程序测试,检查远程端口是否可访问等等。此外,您可以使用nc和pv 命令在两台计算机之间传输文件。 扫描端口列表
代码语言:javascript复制nc -zv bbskali.cn 21 22 80 443 3000
13 Nmap
nmap可以说是大家很熟悉的工具了,之前有很多的教程。这里就不在说了! 简单的扫描
代码语言:javascript复制nmap -T4 -A -O bbskali.cn
14 host
用于执行 DNS 查找的简单实用程序,它将主机名转换为 IP 地址,反之亦然
代码语言:javascript复制host bbskali.cn
15 dig命令
用于查询 DNS 相关信息,例如 A Record、CNAME、MX Record 等
代码语言:javascript复制dig bbskali.cn
16 NSLookup 命令
用于以交互方式和非交互方式查询 DNS 服务器。它用于查询 DNS 资源记录 (RR)。如图所示,您可以找到域的“A”记录(IP 地址)。
代码语言:javascript复制nslookup bbskali.cn
17Tcpdump 命令
Tcpdump是一个非常强大且广泛使用的命令行网络嗅探器。它用于捕获和分析通过网络在特定接口上传输或接收的 TCP/IP 数据包。
如,要获取指定网卡的数据包,只需要加-i
参数即可。
tcpdump -i eth0
您还可以捕获数据包并将其保存到文件中以供以后分析,使用-w标志指定输出文件。
代码语言:javascript复制tcpdump -w bbskali.cap -i wlan0
18 Wireshark
Wireshark是一种流行、强大、通用且易于的工具,用于实时捕获和分析数据包交换网络中的数据包。 您还可以将捕获的数据保存到文件中以供以后检查。系统管理员和网络工程师使用它来监视和检查数据包以实现安全和故障排除。
19 Bmon
bmon是一个强大的、基于命令行的网络监控和调试实用程序,适用于类 Unix 系统,它捕获与网络相关的统计数据并以人性化的格式直观地显示出来。
20 iptables 防火墙
iptables是一个命令行工具,用于配置、维护和检查表 IP 数据包过滤和 NAT 规则集。它用于设置和管理 Linux 防火墙(Netfilter)。它允许您列出现有的数据包过滤规则;添加或删除或修改包过滤规则;列出包过滤规则的每个规则计数器。