网络服务命令
1.ping命令
作用:测试网络连通性(使用icmp协议)
常见选项:
- -c:指定ping的次数,默认无限次
- -I:指定发送请求的网卡
[root@localhost ~]# ping 192.168.77.78 -c 4 -I ens160
PING 192.168.77.78 (192.168.77.78) from 192.168.77.77 ens160: 56(84) 比特的数据。
64 比特,来自 192.168.77.78: icmp_seq=1 ttl=64 时间=1.83 毫秒
64 比特,来自 192.168.77.78: icmp_seq=2 ttl=64 时间=1.14 毫秒
64 比特,来自 192.168.77.78: icmp_seq=3 ttl=64 时间=2.71 毫秒
64 比特,来自 192.168.77.78: icmp_seq=4 ttl=64 时间=0.525 毫秒
--- 192.168.77.78 ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.525/1.550/2.714/0.813 ms
[root@localhost ~]#
2.arp命令
ARP:Address Resolution Protocol,地址转换协议,是一个链路层协议,工作在OSI模型的第二层,不能识别32位ip地址,以48位以太网地址(MAC地址)传输以太网数据包
常见选项:
- -a:查看所有连通过的机器的MAC地址
- 指定ip地址:查看某个机器的mac地址
[root@localhost ~]# arp -a
? (192.168.77.78) at 00:0c:29:a8:21:47 [ether] on ens160
? (192.168.77.1) at 00:50:56:c0:00:01 [ether] on ens160
localhost (127.0.0.1) at <incomplete> on ens160
[root@localhost ~]# arp 192.168.77.78
Address HWtype HWaddress Flags Mask Iface
192.168.77.78 ether 00:0c:29:a8:21:47 C ens160
[root@localhost ~]#
3.nslookup命令
作用:域名解析命令,解析使用dns服务器配置的正反向记录
解析结果:
- 正向解析:nslookup 域名——ip+解析使用的dns服务器
- 反向解析:nslookup ip——域名
注:详细情况看以下实验
4.traceroute命令
作用:查看本地主机与目标主机之间的路由路径
主要特点(先安装):
- 使用的是ICMP协议
- 每一行都是一次路由,若显示*则表示对方加密
[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (110.242.70.57), 30 hops max, 60 byte packets
1 bogon (192.168.66.2) 2.723 ms 2.372 ms 1.791 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
。。。。。。。
5.nmap命令
作用:网络探测扫描命令
主要功能:
- 主机发现:nmap 192.168.?.1/24
- 端口扫描:nmap -sT 指定ip
[root@localhost ~]# nmap 192.168.77.1/24
Starting Nmap 7.92 ( https://nmap.org ) at 2025-09-04 16:19 CST
Nmap scan report for 192.168.77.1
Host is up (0.0011s latency).
All 1000 scanned ports on 192.168.77.1 are in ignored states.
Not shown: 1000 filtered tcp ports (no-response)
MAC Address: 00:50:56:C0:00:01 (VMware)
Nmap scan report for 192.168.77.78
Host is up (0.00074s latency).
Not shown: 984 filtered tcp ports (no-response), 14 filtered tcp ports (admin-prohibited)
PORT STATE SERVICE
22/tcp open ssh
9090/tcp closed zeus-admin
MAC Address: 00:0C:29:A8:21:47 (VMware)
Nmap scan report for 192.168.77.77
Host is up (0.0000070s latency).
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 256 IP addresses (3 hosts up) scanned in 36.68 seconds
[root@localhost ~]# nmap -sT 192.168.77.78
Starting Nmap 7.92 ( https://nmap.org ) at 2025-09-04 16:20 CST
Nmap scan report for 192.168.77.78
Host is up (0.66s latency).
Not shown: 924 filtered tcp ports (no-response), 74 filtered tcp ports (host-unreach)
PORT STATE SERVICE
22/tcp open ssh
9090/tcp closed zeus-admin
MAC Address: 00:0C:29:A8:21:47 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 83.14 seconds
6.netstat命令
作用:查看系统的网络连接状态等
选项:
- -a:显示所有网络状态的连接
- -n:以数字形式显示
- -t:显示tcp连接
- -u:显示udp连接
- -p:显示pid和进程名
- -I:仅显示监听状态的连接
[root@localhost ~]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 638/sshd: /usr/sbin
tcp 0 0 192.168.77.77:22 192.168.77.1:9785 ESTABLISHED 800/sshd: root [pri
tcp 0 248 192.168.77.77:22 192.168.77.1:10255 ESTABLISHED 11916/sshd: root [p
tcp6 0 0 :::22 :::* LISTEN 638/sshd: /usr/sbin
7.ss命令
作用:查看系统的网络连接状态等
优点:
- 产生的并发连接数更多
- 直接查询统计信息,更快
- 在很多linux系统中被支持,且默认安装
[root@localhost ~]# ss -anpt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=638,fd=3))
ESTAB 0 0 192.168.77.77:22 192.168.77.1:9785 users:(("sshd",pid=804,fd=4),("sshd",pid=800,fd=4))
ESTAB 0 52 192.168.77.77:22 192.168.77.1:10255 users:(("sshd",pid=11920,fd=4),("sshd",pid=11916,fd=4))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=638,fd=4))
进程命令
- ps:侧重静态的查看系统中正常运行的进程
- top:侧重动态的查看进程和服务器的健康状态
- pstree:查看进程树
抓包命令
1.tcpdump
作用:网络数据包抓获工具
常见选项:
- -c 数字:控制抓取包的数量,默认抓48字节
- -i 网卡名:监听指定网卡的流量
- -n:以ip形式显示,不进行域名反解
- -A:以ASCII码的格式显示
- port 端口:监听指定端口的报文
- -v:显示抓取报文的详细信息
- -w:将抓取的数据写入文件
- -r:查看使用-w写入的抓包文件
#从192.168.77.77ping192.168.77.78,在192.168.77.78客户机查看
[root@localhost ~]# tcpdump -nA -i ens160 icmp
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on ens160, link-type EN10MB (Ethernet), snapshot length 262144 bytes
16:28:45.602912 IP 192.168.77.77 > 192.168.77.78: ICMP echo request, id 7, seq 1, length 64
E..TLl@.@..P..MM..MN.........M.h....!....................... !"#$%&'()*+,-./01234567
16:28:45.603189 IP 192.168.77.78 > 192.168.77.77: ICMP echo reply, id 7, seq 1, length 64
E..T.[..@..a..MN..MM.........M.h....!....................... !"#$%&'()*+,-./01234567
网关路由命令
- 路由:不同网段的数据转发;路由选择
- 网关:不同网段的数据转发;路由选择;默认路由;NAT转换
1.route命令
- -n:查看系统中的路由表信息
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.77.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
2.设置默认路由(网关)
临时设置:
- 添加:route add default gw 网关地址
- 删除:route del default gw 网关地址
[root@localhost ~]# route add default gw 192.168.77.78
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.77.78 0.0.0.0 UG 0 0 0 ens160
192.168.77.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
[root@localhost ~]# route del default gw 192.168.77.78
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.77.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
永久设置:
- vim /etc/NetworkManager/system-connections/网卡名.nmconnection
3.模拟路由
- 硬路由:以特有的硬件设备提供设定的路由器功能(路由器)
- 软路由:指定利用台式机或服务器配合软件达成路由器的功能(虚拟机模拟路由)(条件:多网卡;具有ip数据包转发功能)
注:正常情况下,只有逻辑网段和物理网段都相同,两台主机才能ping通
跨网段通信实验
步骤一:准备阶段
两台机器,A主机用VMnet1网卡配置ip地址:192.168.77.77,B主机用VMnet6网卡配置192.168.78.78(该网卡在虚拟网络编辑器中设置添加,属于进主机模式)
A主机
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f6:d2:16 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.77.77/24 brd 192.168.77.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fef6:d216/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f6:d2:20 brd ff:ff:ff:ff:ff:ff
altname enp19s0
B主机
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:6b:bb:8d brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet6 fe80::20c:29ff:fe6b:bb8d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:6b:bb:97 brd ff:ff:ff:ff:ff:ff
altname enp19s0
inet 192.168.78.78/24 brd 192.168.78.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
inet6 fe80::5ed6:9bb4:ca81:4a1d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
步骤二:虚拟机模拟路由器
另开第三台虚拟机C,添加两块进主机模式的网卡,VMnet1(77.78)和VMnet6(78.79)
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:a8:21:47 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.77.78/24 brd 192.168.77.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea8:2147/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:a8:21:51 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 192.168.78.79/24 brd 192.168.78.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::262e:9e8:6e0a:91b4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
步骤三:设置网关
查看网关命令:route -n
添加网关:为主机A添加网关地址(77.78),为主机B添加网关地址(78.79)
注:给A添加网关,B未添加,则ApingB不通但请求可达
A主机
[root@localhost ~]# route add default gw 192.168.77.78
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.77.78 0.0.0.0 UG 0 0 0 ens160
192.168.77.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
[root@localhost ~]#
B主机
[root@localhost ~]# route add default gw 192.168.78.79
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.78.79 0.0.0.0 UG 0 0 0 ens224
192.168.78.0 0.0.0.0 255.255.255.0 U 100 0 0 ens224
步骤四:开启路由转发
注:主机C需开启路由转发,若没有开启路由转发功能,则主机A和主机B不互通
[root@localhost ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
步骤五:测试A和B的连通性
ApingB
[root@localhost ~]# ping 192.168.78.78
PING 192.168.78.78 (192.168.78.78) 56(84) 比特的数据。
64 比特,来自 192.168.78.78: icmp_seq=1 ttl=63 时间=1.22 毫秒
64 比特,来自 192.168.78.78: icmp_seq=2 ttl=63 时间=1.37 毫秒
64 比特,来自 192.168.78.78: icmp_seq=3 ttl=63 时间=0.956 毫秒
64 比特,来自 192.168.78.78: icmp_seq=4 ttl=63 时间=1.10 毫秒
^C
--- 192.168.78.78 ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.956/1.162/1.366/0.150 ms
BpingA
[root@localhost ~]# ping 192.168.77.77
PING 192.168.77.77 (192.168.77.77) 56(84) 比特的数据。
64 比特,来自 192.168.77.77: icmp_seq=1 ttl=63 时间=0.833 毫秒
64 比特,来自 192.168.77.77: icmp_seq=2 ttl=63 时间=1.83 毫秒
64 比特,来自 192.168.77.77: icmp_seq=3 ttl=63 时间=1.65 毫秒
64 比特,来自 192.168.77.77: icmp_seq=4 ttl=63 时间=0.791 毫秒
^C
--- 192.168.77.77 ping 统计 ---
已发送 4 个包, 已接收 4 个包, 0% packet loss, time 3040ms
rtt min/avg/max/mdev = 0.791/1.274/1.827/0.466 ms
DHCP网络分配实验
步骤一:准备工作
- DHCP服务端设置:VMnet1:77.77
- DCHP客户端设置:VMnet1:auto
- 关闭网卡自带的DHCP服务功能
DHCP服务端
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f6:d2:16 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.77.77/24 brd 192.168.77.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fef6:d216/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f6:d2:20 brd ff:ff:ff:ff:ff:ff
altname enp19s0
inet6 fe80::86d:976:c902:c775/64 scope link noprefixroute
valid_lft forever preferred_lft forever
DCHP客户端
[ipv4]
method=auto
#address=192.168.77.78/24
关闭VMnet1的DCHP自动获取功能
步骤二:搭建DHCP服务器
安装dhcp服务,生成、修改配置文件/etc/dhcp/dhcpd.conf
#安装软件包
dnf -y install dhcp-server
#生成配置文件
cp -a /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
..................
# A slightly different configuration for an internal subnet.
subnet 192.168.77.0 netmask 255.255.255.0 {
range 192.168.77.50 192.168.77.60; #设置地址范围
option domain-name-servers 8.8.8.8; #设置DNS地址
option domain-name "internal.example.org";
option routers 192.168.77.1; #设置网关地址
option broadcast-address 192.168.77.255; #设置广播地址
default-lease-time 600; #设置租约时间
max-lease-time 7200;
}
..................
步骤三:启动DHCP服务
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# ss -anup | grep :67
UNCONN 0 0 0.0.0.0:67 0.0.0.0:* users:(("dhcpd",pid=12986,fd=7))
[root@localhost ~]#
步骤四:查看DHCP服务日志
tail -f /var/log/messages
步骤五:重启客户端网卡
nmcli con reload
nmcli con up ens160
步骤六:查看获取资源
客户端
#查看IP地址是否成功获取
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:6b:bb:8d brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.77.50/24 brd 192.168.77.255 scope global dynamic noprefixroute ens160
valid_lft 339sec preferred_lft 339sec
inet6 fe80::20c:29ff:fe6b:bb8d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:6b:bb:97 brd ff:ff:ff:ff:ff:ff
altname enp19s0
inet 192.168.78.78/24 brd 192.168.78.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
inet6 fe80::5ed6:9bb4:ca81:4a1d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#查看是否获取到网关路由
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.78.79 0.0.0.0 UG 0 0 0 ens224
0.0.0.0 192.168.77.1 0.0.0.0 UG 101 0 0 ens160
192.168.77.0 0.0.0.0 255.255.255.0 U 101 0 0 ens160
192.168.78.0 0.0.0.0 255.255.255.0 U 100 0 0 ens224
[root@localhost ~]#
#查看是否获取到dns地址
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search internal.example.org
nameserver 8.8.8.8
服务器
注:如果有多个客户端,则地址池按顺序分配资源
DHCP保留地址实验
步骤一:修改服务配置文件
#/etc/dhcp/dhcpd.conf
host fantasia {
hardware ethernet 00:0c:29:6b:bb:8d; #客户机A的mac地址
fixed-address 192.168.77.55; #固定分配给客户机A的ip地址
}
步骤二:重启DHCP服务
注:最好先关闭dhcp服务后再重启,关闭dhcp服务后会直接清楚之前的租约
[root@localhost ~]# systemctl stop dhcpd
[root@localhost ~]# systemctl start dhcpd
#注:设置固定IP时,一定有一个同网络的subnet地址池分配
#注:客户机获取到host的IP地址外,还能获得subnet里额外的资源
#注:该固定IP可以是地址池之外的IP地址
#注:若是要给多个mac地址固定分IP,需要些多个host块、且后面的名字不相同
步骤三:配置客户端
注:客户端跟服务器共用同一块网卡,即处于同一个局域网
#设置网卡、将获取IP地址的方式设置为dhcp
$ vim /etc/NetworkManager/system-connections/ens160.nmconnection
method=auto
# 重启网卡、查看获取的IP地址(已获取了一个IP,想重新获取也可以重启网卡)
$ nmcli con reload
$ nmcli con up ens160
#查看ip是否在地址池范围里
$ ip addr
#查看是否能获取subnet里的网关、dns等资源
$ route -n
$ cat /etc/resolv.conf