一:netstat命令

网络配置信息除了IP地址以外,还有网络连接、路由信息等,关于这类信息可以使用netstat命令查看。netsatat命令可以显示网络接口状态、网络连接、路由表和套接字等信息。

格式:netstat [选项]

netstat命令的选像如下表所示:

选项

命令

-a

显示所有的协议,包括嵌套字

-e

显示更详细的信息

-l

列出处于监听状态的套接字

-r

显示路由表信息

-s

显示每个协议的统计信息

-t

显示所有的TCP协议的套接字

-u

显示所有UDP协议的套接字

-n

显示IP地址,不解析主机、端口和用户名等

-g

显示有关组的组播信息

-i

列出所有的网络接口

-x

显示UNIX套接字

不指定任何选项直接执行netstat命令,会显示除了TCP端口的LISTEN(等待)和UNIX套接字状态以外的ESTABLISHED(连接建立)之类的状态信息。使用netstat命令显示如下图所示:

                              Linux网络管理命令2_网络接口

从上图的执行结果可以看出netstat命令的输出分为TCP/IP网络部分和UNIX套接字部分。其中TCP/IP网络部分部分字段说明如下表所示:

选项

说明

Proto

套接字使用的协议,主要是TCP/UDP协议

Recv-Q

不是由程序连接而产生的数据字节数

Send-Q

从远程主机床来的数据字节数

Local Address

本地端的IP地址和端口号等,通过名称解析将其转换为主机名和服务名显示

Foreign Address

远程主机的IP地址与端口

State

套接字的状态。ESTABLISHED为建立连接,LISTEN为等状态CLOSE_WAIT为等带套接字由远程关闭

使用netstat命令一般是检验本机各端口的网络端口的网络连接状态,它在内核中访问网络和相关程序。利用netstat命令可以了解Linux系统中的整体网络情况。

二:ping命令

它是常用的网络测试命令。它可以用于测试主机之间的连通性,执行该命令会向目标主机发送ICMP数据包。如果可以接收到响应,表示网络在物理连接上是连通的,否则可能会出现物理障碍。ICMP协议用于在数据传输过程中测试网络的连通性,ping命令将ICMP数据包发送到另一台主机,通过其他主机响应的数据包检查连接性。

格式:ping [目标] 目标主机

目标主机可以是IP地址,也可以是域名。ping命令常用的选项有两个,如下表所示:

选项

说明

-c

指定要发送的数据包的数量

-i

指定传输间距,以秒为单位,默认为1秒

执行ping命令检查主机通信,如下图所示。不指定任何选项的情况下ping主机的IP地址,默认情况下,数据包传输将持续到CTRL + C结束。对主机执行ping命令后,发送三个数据包,接收3个数据包,丢失0个数据包。指定-c 表示仅仅发送一个数据包,如果ping不知名的主机IP地址,会丢失100%数据包丢失。

                              Linux网络管理命令2_IP_02

                              Linux网络管理命令2_套接字_03

如果在ping主机时,发现网络出现故障,显示网络100%数据包丢失,常见的几种原因分别是IP地址设置失败、默认网关设置不完整、物理网络故障或者不能进行名称解析。可以根据一些思路去寻找解决办法。

三:nmap命令

这个命令是LInux系统网络扫描和嗅探工具包,可以检查网络主机开放的端口并显示其状态,这个命令的格式如下:

nmap [选项] 主机名或IP地址

如果你想在你的Linux系统中没有安装这个软件包,CentOS和Ubuntu安装方式如下:

CentOS:yum install nmap

Ubuntu:apt install nmap

nmap命令的常见选项及其说明如下表所示

选项

说明

-sT

TCP端口扫描

-sU

UDP端口扫描,需要root权限

-p

指定检查的端口范围

-O

执行操作系统检测

执行nmap命令显示端口状态,如下图所示,指定IP地址表示扫描指定IP地址的端口,显示打开了25、110、135等端口。通过指定-sU和-P检查指定端口的状态,执行结果中显示50端口和112号端口的状态为closed。

                              Linux网络管理命令2_网络接口_04

nmap命令是网络安全测试中常用到的强大扫描工具,扫描器是一种可以自动检测关于主机安全漏洞的程序,它可以发送特殊的数据包来收集目标主机的各种信息。在各种扫描中,功能最强大的就是nmap了

五:arp命令

这个命令用于显示ARP缓存中的信息并进行编辑。arp通过广播的方式查询与指定IP地址对应的MAC地址,主机通过返回MAC地址解析该地址IP,并得到IP地址与MAC地址之间的映射。

格式:arp [选项]

arp的选项及其说明如下表所示:

选项

说明

-n

以地址IP的形式显示

-v

显示详细信息

-a

显示指定主机名或IP地址的缓存信息,如果未指定则显示所有缓存信息

-d

删除指定主机名或IP地址的缓存信息

-f

从指定文件中读取文件名和MAC信息

-s

添加一个缓存信息,指定IP地址和MAC地址之间的映射

执行arp命令显示缓存中所有的信息,指定-d选项删除指定IP缓存信息,如下图所示:

                              Linux网络管理命令2_IP_05

arp命令用于在RedHat、Ubuntu、CentOS、OpenSUSE等Linux发行版本中来管理系统的arp缓冲区。

六:ifconfig命令

这个命令与Windows中的ipconfig命令很相似。ifconfig命令用于配置网络或显示当前网络的接口状态,必须以root身份执行。

ifconfig [选项] [网络接口] [子命令]

Ifconfig的常用选项及其说明如下表所示:

选项

说明

-a

显示所有的网络接口信息

-s

仅显示每个接口的摘要数据

-v

返回接口错误信息,用于处理故障

Linux中的网络接口类似于enp0s1(第一块网卡)、enp0s2(第二块网卡)和IO(回环接口)等。如果不指定网络接口,就会显示u系统中所有的网卡信息。ifconfig命令的子命令及其说明如下表所示:

子命令

说明

up

激活网络接口

down

使指定的网络接口无效

netmask

为网络接口指定子网掩码

addr

为网络接口指定IP地址

broadcast

为指定的接口设置广播地址

执行ifconfig命令显示当前系统所有的网络接口信息,如下图所示。enp0s3中UP表示网卡开启,RUNNING表示处于连接状态。

                              Linux网络管理命令2_IP_06

使用这个命令配置的网卡信息,重启后就不存在了。如果想要长期保存配置信息,需要修改网卡的配置文件。只要设置到长期有效的配置,都需要在配置文件中设置。

七:tcpdump命令

这个命令通过将其转换存储到标准输出来监视流量,通过选项指定主机名和协议显示相关的数据。

格式:tcpdump [选项]

在Ubuntu和CentOS中的安装命令如下:

apt install tcpdump

yum install tcpdump

它的常用选项及其说明如下表所示:

选项

说明

-n

将每个监听到的数据包中的域名转换为IP地址显示

-nn

以数字形式显示地址和端口号,无须转换

-v

输出详细信息

-e

显示数据链路层协议的头部信息

-c

收到指定数量的数据包后停止

-i

监视指定的网络接口

-l

使标准输出变成缓冲行形式

使用tcpdump命令指定主机IP地址,获取主机收到和发送的所有数据包监视网络数据流量,如下图所示:

                              Linux网络管理命令2_网络接口_07