Linux网络服务之网络配置与测试(上)

简介: 1 查看网络配置1.1 ifconfig——查看网络接口信息ifconfig命令来自于net-tools包 (图形化界面已安装,而最小化界面是没有的。需要自己安装) :

1 查看网络配置


1.1 ifconfig——查看网络接口信息

ifconfig命令来自于net-tools包 (图形化界面已安装,而最小化界面是没有的。需要自己安装) :

[root@localhost ~]# rpm -qi net-tools
 Name        : net-tools
 Version     : 2.0
 Release     : 0.22.20131004git.el7
 Architecture: x86_64
 Install Date: 2022年01月18日 星期二 17时31分40秒
 Group       : System Environment/Base
 Size        : 938986
 License     : GPLv2+
 Signature   : RSA/SHA256, 2017年08月11日 星期五 02时30分02秒, Key ID 24c6a8a7f4a80eb5
 Source RPM  : net-tools-2.0-0.22.20131004git.el7.src.rpm
 Build Date  : 2017年08月03日 星期四 17时17分34秒
 Build Host  : c1bm.rdu2.centos.org
 Relocations : (not relocatable)
 Packager    : CentOS BuildSystem <http://bugs.centos.org>
 Vendor      : CentOS
 URL         : http://sourceforge.net/projects/net-tools/
 Summary     : Basic networking tools
 Description :
 The net-tools package contains basic networking tools,
 including ifconfig, netstat, route, and others.
 Most of them are obsolete. For replacement check iproute package.
复制代码


基本用法:

格式 含义
ifconfig 显示当前主机中已启用(活动)的网络接口信息。
ifconfig -a 显示所有网络接口(包括没有启动的网卡)
ifconfig 具体网卡名称 只显示具体网卡的详细信息(无论是否启用)
ifconfig 网卡名称 up/down 表示开启或关闭指定网卡
ifconfig 网络接口 IP地址[/子网掩码长度] 新建临时IP地址(添加一块虚拟网卡)
ifconfig -s 查看通讯情况


1.1.1 查看所有启用的网络接口信息

在不带任何选项和参数执行ifconfig命令时,将显示当前主机中已启用(活动)的网络接口信息。

网卡名称详解:

ens33:第一块以太网的名称详解。

“ens33”中的:

  • “en"是”EtherNet"的缩写,表示网卡类型为以太网;
  • “s"表示热插拔插槽上的设备(hot-plug Slot);
  • 数字“33”表示插槽编号。
[root@localhost ~]# ifconfig
 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 192.168.72.10  netmask 255.255.255.0  broadcast 192.168.72.255
         inet6 fe80::a5da:ff58:2c32:2b5f  prefixlen 64  scopeid 0x20<link>
         ether 00:0c:29:18:b5:ff  txqueuelen 1000  (Ethernet)
         RX packets 54379  bytes 4648603 (4.4 MiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 102028  bytes 28282331 (26.9 MiB)
         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 1  (Local Loopback)
         RX packets 106  bytes 9256 (9.0 KiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 106  bytes 9256 (9.0 KiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
         inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
         ether 52:54:00:e6:f6:65  txqueuelen 1000  (Ethernet)
         RX packets 0  bytes 0 (0.0 B)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 0  bytes 0 (0.0 B)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
复制代码


ens33网卡信息每行详细解释:

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 #ens33:网卡名称
 #UP:该接口已启用
 #BROADCAST:支持广播
 #RUNNING:正在允许
 #MULTICAST:支持组播
 #mtu 1500:网络传输时的最大传输单元,单位字节。这里为1500字节。
 inet 192.168.72.10  netmask 255.255.255.0  broadcast 192.168.72.255
  #这一行是网络接口的IP地址、子网掩码、广播地址       
 inet6 fe80::a5da:ff58:2c32:2b5f  prefixlen 64  scopeid 0x20<link>
 #这一行是IPV6地址、子网长度、作用域(link小时仅该接口有效)
 ether 00:0c:29:18:b5:ff  txqueuelen 1000  (Ethernet)
 #这一行是mac地址、传输队列长度(传输缓存大小)、接口类型
 RX packets 54379  bytes 4648603 (4.4 MiB)
 #接收报文个数、总字节数
 RX errors 0  dropped 0  overruns 0  frame 0
 #接收错误个数、丢弃个数、溢出个数、冲突帧数
 TX packets 102028  bytes 28282331 (26.9 MiB)
 #发送报文个数、总字节数
 TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 #发送错误个数、丢弃个数、溢出个数、载荷数、冲突数
复制代码


1.1.2 查看/开启/关闭/设置指定网卡

ifconfig 网卡名称 [up|down]

1)查看ens33网卡

[root@localhost ~]# ifconfig ens33
 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 192.168.72.10  netmask 255.255.255.0  broadcast 192.168.72.255
         inet6 fe80::a5da:ff58:2c32:2b5f  prefixlen 64  scopeid 0x20<link>
         ether 00:0c:29:18:b5:ff  txqueuelen 1000  (Ethernet)
         RX packets 97597  bytes 8390076 (8.0 MiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 187394  bytes 51899032 (49.4 MiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
复制代码


2)关闭、开启ens33网卡:


[root@localhost ~]# ifconfig ens33 down     //关闭
 [root@localhost ~]# ifconfig ens33 up       //开启
复制代码


3)设置临时虚拟网卡:

[root@localhost ~]# ifconfig ens33:0 192.168.72.20      //设置虚拟网卡ens33:0
 [root@localhost ~]# ifconfig ens33:0
 ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 192.168.72.20  netmask 255.255.255.0  broadcast 192.168.72.255
         ether 00:0c:29:18:b5:ff  txqueuelen 1000  (Ethernet)
复制代码


网络异常,图片无法展示
|


4)查看通讯情况

[root@localhost ~]# ifconfig -s     //查看通讯情况
 Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
 ens33     1500   104223      0      0 0        201081      0      0      0 BMRU
 ens33:0   1500      - no statistics available -                        BMRU
 lo       65536      142      0      0 0           142      0      0      0 LRU
 virbr0    1500        0      0      0 0             0      0      0      0 BMU
复制代码


网络异常,图片无法展示
|


5)增加临时网卡

[root@localhost ~]# ifconfig ens37 192.168.72.37/24
复制代码


增加临时网卡也可使用 ip address实现:

ip address add 192.168.72.37/24 dev ens37
 ip address del 192.168.72.37/24 dev ens37
复制代码


1.2 hostname——查看主机名称

查看或设置当前主机名

hostname [主机名]
复制代码


示例:

1)查看主机名称

[root@localhost ~]# hostname
 localhost.localdomain
复制代码


网络异常,图片无法展示
|


2)临时修改主机名称

[root@localhost ~]# hostname yuji
 [root@localhost ~]# su
 [root@yuji ~]# hostname
 yuji
复制代码


网络异常,图片无法展示
|


永久修改主机名称,修改后重启生效:

  • 法一:编辑配置文件/etc/hostname,该文件只对第一行生效。
  • 法二:使用 “hostnamectl set-hostname 新主机名” 命令,该命令实际是修改了配置文件。

1.3 route——查看路由表条目

服务器可以当路由使用。

命令格式:

route           //打印路由表
 route -n        //以数字形式显示路由信息
 route add -net  网段地址 gw IP地址     //添加指定网段的路由记录
 route del -net 网段地址               //删除指定网段的路由记录
 route add default gw IP地址          //向路由表中添加默认网关记录
 route del default gw  IP地址         //删除路由表中默认的网关记录
复制代码


示例:

[root@yuji ~]# route
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 default         gateway         0.0.0.0         UG    100    0        0 ens33
 192.168.72.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
 192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
 [root@yuji ~]# route -n      //以数字形式展示,不允许显示别名
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 0.0.0.0         192.168.72.2    0.0.0.0         UG    100    0        0 ens33
 192.168.72.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
 192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
复制代码


网络异常,图片无法展示
|


1.4 netstat——查看网络连接情况

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。


命令格式:

netstat  [选项]
复制代码


常用选项

选项 作用
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n 拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。
-t 查看TCP协议相关的信息。
-u 显示UDP协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息。
-l 显示处于监听状态(Listen)的网络连接及端口信息。


常用搭配:

netstat -a       //列出所有端口
 netstat -at      //列出所有TCP端口
 netstat -au      //列出所有UDP端口
 netstat -ax      //列出所有unix端口
 netstat -lt      //列出处于监听状态的TCP端口
 netstat -tnlp   //直接使用ip地址列出所有处于监听状态的TCP端口,且加上程序名
复制代码


示例:

1)netstat -lt,列出处于监听状态的TCP端口。

[root@localhost ~]# netstat -lt   //列出处于监听状态的TCP端口
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State      
 tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
 tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
 tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
 tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
 tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
 tcp        0      0 0.0.0.0:shell           0.0.0.0:*               LISTEN     
 tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
 tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
 tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
 tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
 tcp6       0      0 [::]:shell              [::]:*                  LISTEN
复制代码


网络异常,图片无法展示
|


2)netstat -tnlp,直接使用ip地址列出所有处于监听状态的TCP端口,且加上程序名。

[root@localhost ~]# 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:111             0.0.0.0:*               LISTEN      1/systemd           
 tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1462/dnsmasq        
 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1113/sshd           
 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1111/cupsd          
 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1394/master         
 tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      798/rsyslogd        
 tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
 tcp6       0      0 :::22                   :::*                    LISTEN      1113/sshd           
 tcp6       0      0 ::1:631                 :::*                    LISTEN      1111/cupsd          
 tcp6       0      0 ::1:25                  :::*                    LISTEN      1394/master         
 tcp6       0      0 :::514                  :::*                    LISTEN      798/rsyslogd        
复制代码


1.5 ss(socket statistics)——查看网络连接情况

ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。

但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。

ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

选项 含义
-t tcp协议相关
-u udp协议相关
-w 套接字相关
-x unix sock相关
-l listen状态的连接
-a 所有
-n 数字格式
-p 相关的程序及PID
-e 扩展的信息
-m 内存用量
-o 计时器信息
-r --resolve 把 IP 解释为域名,把端口号解释为协议名称


示例:

查看TCP协议下的21端口是否开启

[root@localhost ~]# ss -ntap |grep 21       //查看TCP协议下的21端口
 LISTEN     0      32          :::21                      :::*                   users:(("vsftpd",pid=84913,fd=3))
复制代码


网络异常,图片无法展示
|


相关文章
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
69 2
|
1月前
|
安全 Linux 虚拟化
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
28 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
10天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
32 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
16天前
|
算法 安全 网络安全
网络安全服务
机密主要利用密码学技术加密文件实现,完整主要利用验证码/Hash技术,可用**主要灾备来保障。 网络环境下的身份鉴别,当然还是依托于密码学,一种可以使用口令技术,另一种则是依托物理形式的鉴别,如身份卡等。其实更为安全的是实施多因子的身份认证,不只使用一种方式。数字签名可以用来保证信息的完整性,比如RSA就可以用于数字签名: 若A向B发送信息m则先用自己的保密密钥(私钥)对m加密,然后用B的公钥第二次加密,发送个B后,B先用自己的私钥解密一次,再用A的公钥解密即可。 Kerberos使用对称密码算法来实现通过可信第三方密钥分发中心的认证服务,已经成为工业界的事实标准。
23 3
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
44 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
46 3
linux系统服务!!!
|
24天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
31 4
|
1月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
114 5
|
29天前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。