網絡服務命令
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 packets1 bogon (192.168.66.2) 2.723 ms 2.372 ms 1.791 ms2 * * *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 sshNmap 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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:f6:d2:16 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.77.77/24 brd 192.168.77.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 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 1000link/ether 00:0c:29:f6:d2:20 brd ff:ff:ff:ff:ff:ffaltname enp19s0
B主機
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:6b:bb:8d brd ff:ff:ff:ff:ff:ffaltname enp3s0inet6 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 1000link/ether 00:0c:29:6b:bb:97 brd ff:ff:ff:ff:ff:ffaltname enp19s0inet 192.168.78.78/24 brd 192.168.78.255 scope global noprefixroute ens224valid_lft forever preferred_lft foreverinet6 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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:a8:21:47 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.77.78/24 brd 192.168.77.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 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 1000link/ether 00:0c:29:a8:21:51 brd ff:ff:ff:ff:ff:ffaltname enp11s0inet 192.168.78.79/24 brd 192.168.78.255 scope global noprefixroute ens192valid_lft forever preferred_lft foreverinet6 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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:f6:d2:16 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.77.77/24 brd 192.168.77.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 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 1000link/ether 00:0c:29:f6:d2:20 brd ff:ff:ff:ff:ff:ffaltname enp19s0inet6 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.confvim /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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:6b:bb:8d brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.77.50/24 brd 192.168.77.255 scope global dynamic noprefixroute ens160valid_lft 339sec preferred_lft 339secinet6 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 1000link/ether 00:0c:29:6b:bb:97 brd ff:ff:ff:ff:ff:ffaltname enp19s0inet 192.168.78.78/24 brd 192.168.78.255 scope global noprefixroute ens224valid_lft forever preferred_lft foreverinet6 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