快速上手Linux核心命令(八):網路相關命令

xiezhr發表於2023-04-27

前言

這期呢主要說一說Linux中與網路相關命令,一共包含19個命令

測試主機之間網路是否聯通

1、簡介

ping 命令不管是在Windows還是Linux都是比較常用的命令。命令用於測試主機之間的網路連通性

2、語法格式

ping [引數選項] [目標主機]

3、引數說明

引數 引數說明
-c 指定報文次數,若不指定,ping命令將一直髮送報文
-i 相鄰兩次傳送報文的時間間隔,預設時間間隔是1s
-s 設定傳送資料包大小,預設為56位元組,加上8位元組ICMP頭,共64位元組資料包

還有其他的引數,這裡就不一一列舉了。。。。

4、實踐操作

①測試與目標主機的網路連通性

# 網路正常情況
[root@xiezhr ~]# ping www.xiezhrspace.cn
PING www.xiezhrspace.cn (42.192.46.248) 56(84) bytes of data.
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.233 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.215 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.230 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.235 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=5 ttl=63 time=0.235 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=6 ttl=63 time=0.246 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=7 ttl=63 time=0.243 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=8 ttl=63 time=0.215 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=9 ttl=63 time=0.227 ms

# 網路不正常
[root@xiezhr ~]# ping 10.10.114.56
PING 10.10.114.56 (10.10.114.56) 56(84) bytes of data.

上面命令執行後會一直髮送報文,相當於windows中的ping www.baidu.com -t

② 指定傳送報文的次數

# 傳送報文4次後自動退出
[root@xiezhr ~]# ping -c 4 www.xiezhrspace.cn
PING www.xiezhrspace.cn (42.192.46.248) 56(84) bytes of data.
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.230 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.248 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.214 ms

--- www.xiezhrspace.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.214/0.229/0.248/0.019 ms

③ 多引數使用情況

[root@xiezhr ~]# ping -c 4 -i 3 -s 1024 -t 255 www.xiezhrspace.cn
PING www.xiezhrspace.cn (42.192.46.248) 1024(1052) bytes of data.
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.214 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.250 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.261 ms

--- www.xiezhrspace.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 9027ms
rtt min/avg/max/mdev = 0.214/0.237/0.261/0.026 ms

上面列子中引數解釋

  • -c 4 : 傳送4次報文
  • -i 3:每隔3s傳送一次報文
  • -s 1024: 每次傳送資料包文大小為1024位元組
  • -t 255: **傳送資料包的ttl值為255 **

ifconfig 配置或顯示網路資訊

1、簡介

ifconfig 命令類似於Windows 下的ipconfig 。不知道大家會不會混淆在一起,反正我是經常混淆了在一起(●'◡'●)。命令用於顯示網路卡IP地址等引數資訊

2、語法格式

ifconfig [網路介面] [引數選項]

網路介面指的是:eth0、eth1和lo 分別表示第一塊網路卡、第二塊網路卡和迴環介面。該選項是非必填項

3、 引數說明

引數 引數說明
-a 顯示所有網路介面資訊,包括活動的和非活動的
-up 啟用指定網路介面
-down 關閉指定網路介面
hw 設定網路介面的實體地址(MAC地址)

4、實踐操作

①顯示當前系統開啟的所有網路介面資訊

[root@xiezhr ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.4  netmask 255.255.240.0  broadcast 172.17.15.255
        inet6 fe80::5054:ff:fe19:f6d0  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:19:f6:d0  txqueuelen 1000  (Ethernet)
        RX packets 254776100  bytes 26271134342 (24.4 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 331164543  bytes 72224346549 (67.2 GiB)
        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 1000  (Local Loopback)
        RX packets 143816  bytes 10756556 (10.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 143816  bytes 10756556 (10.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • eth0表示第一塊網路卡、第二塊為eth1,依次類推;lo表示迴環介面

②顯示指定網路卡eth0資訊

[root@xiezhr ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.4  netmask 255.255.240.0  broadcast 172.17.15.255
        inet6 fe80::5054:ff:fe19:f6d0  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:19:f6:d0  txqueuelen 1000  (Ethernet)
        RX packets 254778009  bytes 26271295935 (24.4 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 331166449  bytes 72224671528 (67.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

③ 啟動關閉網路卡

# 關閉網路卡
[root@xiezhr ~]# ifconfig eth0 down
# 啟動網路卡
[root@xiezhr ~]# ifconfig eth0 up

④ 設定網路卡IP

[root@xiezhr ~] ifconfig eth0 192.168.205.98 

route 顯示或管理路由表

1、簡介

route 命令用來顯示或管理Linux的路由表

2、路由小科普

說到路由,不得不簡單做下科普。這裡只是簡單通俗介紹一下,如果需要了解更多請查閱相關資料哈

路由表與生活中的路標指示牌類似,指示牌指引著我們該往什麼地方走;而路由表則指引著資料包該去向何方。

在這裡插入圖片描述

不得不說技術源於生活,又服務於生活。

那麼,兩臺計算機之間是怎麼傳輸資料的呢?

  • 資料的傳輸必須要又網路來完成,而網路是由兩臺計算機之間一個或多個節點構成的
  • 資料傳輸由一臺計算機傳送到第一個網路節點,然後這個網路節點會根據“約定”將資料傳宋到另一個網路節點,另一個網路節點再根據“約定”將資料傳輸到下一個節點,直到把資料傳輸到另一臺計算機。 這裡的“約定”就是我們上面說的路由表
  • 路由表說白了就是指定了一些規則,標明資料包文該何去何從
  • 路由分為靜態路由和動態路由。
  • 我們透過route命令手動加入的路由屬於靜態路由;動態路由時無需手動加入的,其路由規則時不同計算機彼此相互交換路由規則而來的

3、語法格式

route [引數選項]

4、引數說明

引數 引數說明
-n 直接使用ip地址,不進行DNS解析主機名
add 新增路由資訊
del 刪除路由資訊
-net 到一個網路的路由,引數後面接的是一個網路號地址
-host 到一個主機的路由,引數後面接的時一個主機地址
netmask NM 為新增的路由指定網路掩碼
gw GW 為發往木匾網路/主機的任何分組指定閘道器
dev If 指定有哪個網路裝置出去,後面接網路裝置名 如:eth0

5、實踐操作

① 檢視當前系統路由表資訊

[root@xiezhr ~]# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.240.0   U     0      0        0 eth0
  • Destination :網路號,也就是network的意思
  • Gateway:連出閘道器地址,也就是說該網路時透過該IP連線出去的,0.0.0.0,則表示該路由直接由本機傳送出去。如果由具體IP,表示本條路由必須經過該IP轉接才能連線出去
  • Genmask:表示子網掩碼
  • Flags:路由標記資訊
    • U :表示此路由當前為啟動狀態
    • H:目標路由是一個主機(IP)而非網路
    • R:使用動態路由時,恢復路由資訊標識
    • G:表示他需要透過外部的註解來轉接傳遞資料
    • M:表示路由已經被修改
    • D:已經由服務設定為動態路由
  • Metric :表示需要經過幾個網路節點才能到達路由的目標網路地址
  • Ref:參考到此路由規則的數目
  • Use:有幾個轉送資料包參考到了此路由規則
  • Iface:路由對應的網路裝置介面

② 新增或刪除路由

# 刪除預設閘道器方法1
[root@xiezhr ~]# route del default
# 刪除預設閘道器方法2
[root@xiezhr ~]# route del default gw 10.0.0.2
# 新增閘道器
[root@xiezhr ~]# route add default gw 10.0.0.2 dev eth0

netstat 檢視網路狀況

1、簡介

netstat 命令用於顯示本機網路的連線狀態、執行埠和路由表等資訊

2、語法格式

netstat [引數選項]

3、引數說明

引數 引數說明
-n 顯示數字形式的地址而不是去解析主機、埠或使用者名稱
-a 顯示處於監聽狀態和非監聽狀態的socket資訊
-c<秒數> 後面跟的秒數表示每隔幾秒就重新整理顯示一次
-t 顯示所有的TCP連線情況
-u 顯示所有的UDP連線情況
-p 顯示socket所屬程式的PID和名稱

4、實踐操作

① 顯示詳細的所有連線資訊

[root@xiezhr ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 172.17.0.4:80           103.127.81.10:33832     SYN_RECV   
tcp        0      0 172.17.0.4:80           154.221.22.70:44617     SYN_RECV   
tcp        0      0 172.17.0.4:80           103.195.150.7:31982     SYN_RECV 
。。。
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 172.17.0.4:123          0.0.0.0:*                          
udp        0      0 127.0.0.1:123           0.0.0.0:*                          
udp6       0      0 fe80::5054:ff:fe19::123 :::*                               
udp6       0      0 ::1:123                 :::*                               
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     12804    /var/run/lsm/ipc/simc
unix  2      [ ACC ]     STREAM     LISTENING     12810    /var/run/lsm/ipc/sim

簡單說明下上面顯示內容的含義

列數 名稱 含義
第一列 Proto socket使用的協議(TCP/UDP/RAW)
第二列 Recv-Q 接收到但是還未處理的位元組數
第三列 Send-Q 已經傳送但是未被遠端主機確認收到的位元組數
第四列 Local Address 本機主機地址和埠
第五列 Froeign Address 遠端主機地址和埠
第六列 State tcp狀態

② 顯示所有TCP、UDP正在監聽的連線資訊

[root@xiezhr ~]# netstat -lntup
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:80              0.0.0.0:*               LISTEN      2812/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      980/sshd            
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      2812/nginx: master  
tcp        0      0 0.0.0.0:65535           0.0.0.0:*               LISTEN      17087/./proc        
tcp6       0      0 :::80                   :::*                    LISTEN      2812/nginx: master  
tcp6       0      0 :::3000                 :::*                    LISTEN      27339/PM2 v4.5.1: G 
tcp6       0      0 :::443                  :::*                    LISTEN      2812/nginx: master  
udp        0      0 0.0.0.0:68              0.0.0.0:*                           809/dhclient        
udp        0      0 172.17.0.4:123          0.0.0.0:*                           546/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           546/ntpd            
udp6       0      0 fe80::5054:ff:fe19::123 :::*                                546/ntpd            
udp6       0      0 ::1:123                 :::*                                546/ntpd 

③ 顯示當前系統的路由表

[root@xiezhr ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.240.0   U         0 0          0 eth0

④ 顯示網路的介面狀況

[root@xiezhr ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500 257171559      0      0 0      334662383      0      0      0 BMRU
lo              65536   144476      0      0 0        144476      0      0      0 LRU

telnet 遠端登入主機

1、簡介

telnet以前用於遠端登入主機,但是其安全性不好。因此現在一般採用更加安全的SSH,這個後面也會說到。

現在telnet命令主要用於判斷遠端伺服器埠是否開發

2、語法格式

telnet [引數選項] [主機名或IP] [埠]

3、實際操作

①測試埠是否開放

[root@xiezhr ~]# telnet 112.112.17.172 31189

ssh 安全的遠端登入主機

1、簡介

ssh命令用於安全的登入遠端伺服器,實現對伺服器的遠端管理。取代了telnet命令

2、語法格式

ssh [引數選項] [使用者名稱@] [主機名或IP地址] [遠端執行的名]

3、引數說明

引數 引數說明
-p 指定ssh登入埠,如果忽略則預設為22埠
-t 強制分配偽終端,可以在遠端機器上執行任何全螢幕程式。
-v 除錯模式

4、實踐操作

① 遠端登入伺服器

[root@xiezhr ~]# ssh 220.165.5.45

②遠端執行命令

[root@xiezhr ~]# ssh 10.0.0.26 "free -m"

wget 命令列下載工具

1、簡介

wget 用於從網路上下載某些資料。只要Linux連線網際網路,就可以直接從網路上下載自己所需的檔案

  • 支援斷點下載
  • 支援ftp和http下載方式
  • 支援代理伺服器
  • 非常穩定。如果由於網路原因下載失敗,wget 會不斷嘗試,直到整個檔案下載完畢。如果伺服器打斷了下載過程,當再次連線伺服器時,會從停止的地方繼續下載。【這對下載大檔案非常有用】

2、語法格式

wget [引數選項] [下載地址]

3、引數說明

引數 引數說明
-O 指定儲存的檔名後下載檔案
--limit-rate 限速下載
-b 轉入後臺執行命令
-c 斷點續傳
--tries=number 設定重置次數
--spider 模擬爬蟲訪問

4、實踐操作

① wget下載單個檔案

[root@xiezhr /]# wget https://xiezhrspace.cn/medias/logo.png
--2022-05-30 23:08:24--  https://xiezhrspace.cn/medias/logo.png
Resolving xiezhrspace.cn (xiezhrspace.cn)... ::1, ::1
Connecting to xiezhrspace.cn (xiezhrspace.cn)|::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png’

100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0s      

2022-05-30 23:08:24 (433 MB/s) - ‘logo.png’ saved [112674/112674]

②使用-O引數,指定下載檔案的儲存檔名

[root@xiezhr test]# wget -O /home/test/logo.png https://www.xiezhrspace.cn/medias/logo.png
--2022-05-30 23:14:03--  https://www.xiezhrspace.cn/medias/logo.png
Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘/home/test/logo.png’

100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0.01s   

2022-05-30 23:14:03 (9.78 MB/s) - ‘/home/test/logo.png’ saved [112674/112674]

[root@xiezhr test]# cd /home/test/
[root@xiezhr test]# ll
total 208
-rw-r--r-- 1 root   root   112674 Nov 29  2020 logo.png

③ 限速3kb/s下載

[root@xiezhr test]# wget --limit-rate=3k https://www.xiezhrspace.cn/medias/logo.png
--2022-05-30 23:15:57--  https://www.xiezhrspace.cn/medias/logo.png
Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png.1’

100%[========================================================================================================================================================================>] 112,674     3.00KB/s   in 37s    

2022-05-30 23:16:34 (3.00 KB/s) - ‘logo.png.1’ saved [112674/112674]

④ 斷點續傳下載大檔案

[root@xiezhr test]# wget -c https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

⑤後臺下載檔案

[root@xiezhr test]# wget -b https://www.xiezhrspace.cn/medias/logo.png
Continuing in background, pid 4526.
Output will be written to ‘wget-log’.

⑥ 有些網站會根據判斷代理名稱是不是瀏覽器而拒絕你的下載請求,這時候就可以偽裝代理下載

[root@xiezhr test]# wget -b https://www.xiezhrspace.cn/medias/logo.png
Continuing in background, pid 4526.
Output will be written to ‘wget-log’.
[root@xiezhr test]# clear
[root@xiezhr test]# wget --user-agent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" https://www.xiezhrspace.cn/medias/logo.png
--2022-05-30 23:29:27--  https://www.xiezhrspace.cn/medias/logo.png
Resolving www.xiezhrspace.cn (www.xiezhrspace.cn)... 42.192.46.248
Connecting to www.xiezhrspace.cn (www.xiezhrspace.cn)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png.3’

100%[========================================================================================================================================================================>] 112,674     --.-K/s   in 0.01s   

2022-05-30 23:29:27 (9.85 MB/s) - ‘logo.png.3’ saved [112674/112674]

⑦ 監控網站URL是否正常

# 採用靜默方式訪問網站,3秒超時,重試1次,模擬爬蟲方式進行訪問
[root@xiezhr test]# wget -q -T 3 --tries=1 --spider www.xiezhrspace.cn
# 返回0表示正常
[root@xiezhr test]# echo $?
0

ip網路配置工具

1、簡介

ip 命令用於顯示或管理Linux系統的路由、網路裝置、策略路由和隧道

2、語法格式

ip [引數選項] [網路物件] [操作命令]

3、引數說明

引數 引數說明
-s 輸出更詳細的資訊
-r 顯示主機時,不適用ip地址,而是使用主機的域名
-V 顯示命令的版本資訊

3、網路物件及對應操作命令

網路物件 網路物件說明 對應操作命令
link 網路裝置 set:修改裝置屬性、show:顯示裝置屬性
address 裝置的協議地址(IP地址) add:新增協議地址、del:刪除協議地址、flush:清除協議地址、show:檢視協議地址
addrlabel 協議地址標籤管理 add、del、list、flush
neighbour arp或ndisc快取表
route 路由表 add、change、relpace、delete、show、flush
rule 策略路由表 add、delete、flush、show
maddress 多播地址 show、add、delete
mroute 多播路由快取表 show
tunnel IP隧道 add、change、delete、prl、show

4、實踐操作

ip link show                     # 顯示網路介面資訊
ip link set eth0 up             # 開啟網路卡
ip link set eth0 down            # 關閉網路卡
ip link set eth0 promisc on      # 開啟網路卡的混合模式
ip link set eth0 promisc offi    # 關閉網路卡的混個模式
ip link set eth0 txqueuelen 1200 # 設定網路卡佇列長度
ip link set eth0 mtu 1400        # 設定網路卡最大傳輸單元
ip addr show     # 顯示網路卡IP資訊
ip addr add 192.168.0.1/24 dev eth0 # 設定eth0網路卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 刪除eth0網路卡IP地址

ip route show # 顯示系統路由
ip route add default via 192.168.1.254   # 設定系統預設路由
ip route list                 # 檢視路由資訊
ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 設定192.168.4.0網段的閘道器為192.168.0.254,資料走eth0介面
ip route add default via  192.168.0.254  dev eth0        # 設定預設閘道器為192.168.0.254
ip route del 192.168.4.0/24   # 刪除192.168.4.0網段的閘道器
ip route del default          # 刪除預設路由
ip route delete 192.168.1.0/24 dev eth0 # 刪除路由

tcpdump 監聽網路流量

1、簡介

tcpdump 命令是一個包分析工具。可以將網路中傳輸的資料包的“頭”完全截獲下來以提供分析。

2、語法格式

tcpdump [引數選項] [表示式]

3、引數說明

引數 引數說明
-c 接收指定資料包數目後退出命令
-i 指定要監聽資料包的網路介面
-n 不精細DNS解析,加快顯示速度
-nn 不將協議和埠數字等轉換成名字
-q 以快速輸出的方式執行,輸出的資訊比較簡潔

4、實踐操作

① 不帶引數監聽網路

[root@xiezhr ~]# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:49:34.194426 IP xiezhr.ssh > 39.130.60.147.54868: Flags [P.], seq 2354337386:2354337582, ack 602321997, win 255, length 196
21:49:34.194837 IP xiezhr.55410 > 183.60.82.98.domain: 13037+ PTR? 147.60.130.39.in-addr.arpa. (44)
21:49:34.241013 IP 39.130.60.147.54868 > xiezhr.ssh: Flags [.], ack 0, win 511, length 0
21:49:34.260399 IP 183.60.82.98.domain > xiezhr.55410: 13037 NXDomain 0/1/0 (93)
21:49:34.261639 IP xiezhr.44621 > 183.60.83.19.domain: 25778+ PTR? 4.0.17.172.in-addr.arpa. (41)
21:49:34.262436 IP 183.60.83.19.domain > xiezhr.44621: 25778 NXDomain 0/1/0 (100)

② 精簡輸出資訊

[root@xiezhr ~]# tcpdump -q
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:51:39.084015 IP xiezhr.ssh > 39.130.60.147.54868: tcp 196
21:51:39.084415 IP xiezhr.54183 > 183.60.83.19.domain: UDP, length 44
21:51:39.084690 IP 183.60.83.19.domain > xiezhr.54183: UDP, length 93
21:51:39.095563 IP xiezhr.37447 > 183.60.82.98.domain: UDP, length 41
21:51:39.095795 IP 183.60.82.98.domain > xiezhr.37447: UDP, length 100
21:51:39.107963 IP xiezhr.57539 > 183.60.83.19.domain: UDP, length 43
21:51:39.108025 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100
21:51:39.108749 IP 183.60.83.19.domain > xiezhr.57539: UDP, length 107
21:51:39.118945 IP xiezhr.51494 > 183.60.82.98.domain: UDP, length 43
21:51:39.119024 IP xiezhr.ssh > 39.130.60.147.54868: tcp 180
21:51:39.119165 IP 183.60.82.98.domain > xiezhr.51494: UDP, length 107
21:51:39.130005 IP xiezhr.ssh > 39.130.60.147.54868: tcp 596
21:51:39.130036 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100

③監聽指定網路卡收到的資料包

[root@xiezhr ~]# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:52:41.482275 IP 169.254.0.4.http > xiezhr.45330: Flags [.], ack 31739111, win 136, length 0
21:52:41.486536 IP xiezhr.48369 > 183.60.82.98.domain: 56337+ PTR? 4.0.17.172.in-addr.arpa. (41)
^C21:52:41.487054 IP xiezhr.ssh > 39.130.60.147.54868: Flags [P.], seq 2354686734:2354686930, ack 602325169, win 255, length 196

④ 監聽指定主機資料包

[root@xiezhr ~]# tcpdump -n host 220.165.5.50 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

⑤ 監聽指定埠資料包

[root@xiezhr ~]# tcpdump -nn port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:54:39.961652 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 2354867994:2354868190, ack 602329953, win 255, length 196
21:54:39.961828 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 196:376, ack 1, win 255, length 180
21:54:39.961860 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 376:524, ack 1, win 255, length 148
21:54:39.961888 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 524:672, ack 1, win 255, length 148
21:54:39.961916 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 672:820, ack 1, win 255, length 148
21:54:39.961943 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 820:968, ack 1, win 255, length 148
21:54:39.961971 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 968:1116, ack 1, win 255, length 148
21:54:39.961998 IP 172.17.0.4.22 > 39.130.60.147.54868: Flags [P.], seq 1116:1264, ack 1, win 255, length 148

nmap 網路探測工具和安全/埠掃描器

1、簡介

nmap 是一款開源的網路探測和安全稽核工具。其作用是快速掃描大型網路,並發現網路上有哪些主機,主機提供哪些服務,並探測作業系統的型別及版本資訊

如果系統沒有nmap命令,可透過一下命令安裝

yum -y install nmap

2、語法格式

nmap [掃描型別] [通用選項] [掃描目標]

3、引數說明

引數 引數說明
-sS TCP同步掃描
-sn 不進行埠掃描,只檢查主機正在執行
-v 顯示掃描過程中的詳細資訊
-n 不進行DNS解析,加快掃描速度
-p<埠> 指定掃描埠,可以是一個單獨的埠,也可以是逗號分隔的多個埠

4、實踐操作

① 檢視主機當前開放的埠

[root@xiezhr ~]# nmap 127.0.0.1 

②掃描主機的指定埠

[root@xiezhr ~]#  nmap -p 1024-65535 127.0.0.1

③掃描區域網內所有IP

[root@xiezhr ~]# nmap 10.0.0.0/24

ifup 啟用網路介面

1、簡介

ifup 用於啟用指定的網路介面

2、語法格式

ifup [網路介面]

3、實踐操作

啟用網路介面

[root@xiezhr ~]# ifup eht0

ifdown 禁用網路介面

1、簡介

ifdown命令與上面說的ifup命令剛好作用相反,用於禁用網路介面

2、語法格式

ifdown [網路介面]

3、實踐操作

禁用網路介面

[root@xiezhr ~]# ifdown eht1

arp 管理系統的arp快取

1、簡介

首先我們先來看看什麼是arp? arp是地址解析協議,主要功能是透過ip地址獲取實體地址(MAC地址)

arp命令用於操作本機arp快取,可以顯示、刪除、新增指定IP地址與MAC地址對應關係

2、語法格式

arp [引數選項]

3、引數說明

引數 引數說明
-n 顯示數字IP地址
-s <主機或MAC地址> 指定主機的IP地址與MAC地址靜態對映關係
-d<主機> 從arp快取區中刪除指定主機的arp條目

4、實踐操作

① 顯示arp快取區的所有條目

[root@xiezhr ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
169.254.0.79             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.128.6            ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.4              ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.128.4            ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.2              ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.15             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.55             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.81             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.82             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.83             ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.80             ether   fe:ee:00:2e:16:9a   C                     eth0
172.17.0.5               ether   fe:ee:00:2e:16:9a   C                     eth0
gateway                  ether   fe:ee:00:2e:16:9a   C                     eth0
169.254.0.23             ether   fe:ee:00:2e:16:9a   C                     eth0

② 查詢指定主機的arp條目

[root@xiezhr ~]# arp -n 42.192.46.248
42.192.46.248 (42.192.46.248) -- no entrys

③ 靜態繫結IP地址與MAC地址

[root@xiezhr ~]#  arp -s 10.0.0.100 00:0c:29:c0:5e:df

ss 檢視網路狀況

1、簡介

ss 命令用於檢視網路狀態資訊,包括TCP、UDP連線、埠。

如果系統沒有該命令,需要自己安裝一下

yum -y install iproute

2、語法格式

ss [引數選項] [過濾器]

3、引數說明

引數 引數說明
-n 顯示IP地址不進行DNS解析
-a 顯示所有socket連線
-l 顯示所有監聽socket
-p 顯示使用socket的程式
-t 僅顯示TCP的socket
-u 僅顯示UCP的socket

4、實踐操作

① 顯示所有的socket連線

  [root@xiezhr ~]# ss -an
Netid  State      Recv-Q Send-Q        Local Address:Port       Peer Address:Port              
nl     UNCONN     0      0                         0:0                      *                   
nl     UNCONN     0      0                         0:546                    *                   
nl     UNCONN     0      0                         0:546                    *                   
nl     UNCONN     4352   0                         4:30221                  *                   
nl     UNCONN     768    0                         4:0                      *                   
nl     UNCONN     0      0                         6:0                          

② 顯示所有正在監聽的TCP和UDP連線

Netid  State   Recv-Q  Send-Q  Local                               Address:Port  Peer                                                      Address:Port
udp    UNCONN  0       0       *:68                                *:*           users:(("dhclient",pid=809,fd=6))
udp    UNCONN  0       0       172.17.0.4:123                      *:*           users:(("ntpd",pid=546,fd=19))
udp    UNCONN  0       0       127.0.0.1:123                       *:*           users:(("ntpd",pid=546,fd=16))
udp    UNCONN  0       0       [fe80::5054:ff:fe19:f6d0]%eth0:123  [::]:*        users:(("ntpd",pid=546,fd=20))
udp    UNCONN  0       0       [::1]:123                           [::]:*        users:(("ntpd",pid=546,fd=17))
tcp    LISTEN  0       128     *:80                                *:*           users:(("nginx",pid=26238,fd=6),("nginx",pid=2812,fd=6))
tcp    LISTEN  0       128     *:22                                *:*           users:(("sshd",pid=980,fd=3))
tcp    LISTEN  0       128     *:443                               *:*           users:(("nginx",pid=26238,fd=8),("nginx",pid=2812,fd=8))
tcp    LISTEN  0       1       *:65535                             *:*           users:(("proc",pid=17087,fd=3))
tcp    LISTEN  0       128     [::]:80                             [::]:*        users:(("nginx",pid=26238,fd=7),("nginx",pid=2812,fd=7))
tcp    LISTEN  0       128     [::]:3000                           [::]:*        users:(("PM2                                              v4.5.1:       God",pid=27339,fd=20))
tcp    LISTEN  0       128     [::]:443                            [::]:*        users:(("nginx",pid=26238,fd=9),("nginx",pid=2812,fd=9))

nc 多功能網路工具

1、簡介

nc 是一個多功能、可靠、強大的網路工具,可以建立TCP連線,傳送UDP資料包,監聽埠,處理IPv4和IPv6資料包

如果系統沒有nc命令,可以透過一下命令手動安裝

yum -y install nc

2、語法格式

nc [引數選項]

3、引數說明

引數 引數說明
-l 指定監聽埠,然後一直等待網路連線
-z 表示zero,表示掃描時不傳送任何資料
-v 顯示詳細輸出

4、實踐操作

①TCP埠掃描

[root@xiezhr ]# nc -v -z -w2 192.168.0.3 1-100 
192.168.0.3: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.0.3] 80 (http) open
(UNKNOWN) [192.168.0.3] 23 (telnet) open
(UNKNOWN) [192.168.0.3] 22 (ssh) open

②掃描指定埠

[root@xiezhr ~]# nc -nvv 192.168.0.1 80 //掃描 80埠
(UNKNOWN) [192.168.0.1] 80 (?) open
y  //使用者輸入

mail 傳送和接收檔案

1、簡介

mail命令是命令列的電子郵件接收和傳送工具

2、語法格式

mail [引數選項]

3、引數說明

引數 引數說明
-s 指定郵件主題
-a 傳送郵件附件,多個附件使用多次-a選項即可

nslookup 域名查詢工具

1、簡介

nslookup 命令是常用的域名查詢工具

如果系統沒有該命令,需要按照以下方式自己安裝下

yum -y install bind-utils

2、語法格式

nslookup [引數選項] [域名/IP] [DNS伺服器]

3、引數說明

引數 引數說明
server<域名伺服器> 指定解析域名的伺服器地址
set 關鍵字=值 設定查詢關鍵字(域名屬性的值)
all(全部) 查詢域名有關的所有資訊
domain=name 指定查詢域名
port=埠號 指定域名伺服器使用的埠號
type=型別名 指定域名查詢型別
retry=<次數>指定查詢時重試冊數
timeout= 秒數 指定查詢的超時時間

dig 域名查詢工具

1、簡介

dig 是常用的域名查詢工具,可以用於測試域名系統的工作是否正常

2、語法格式

dig [引數選項]

3、引數說明

引數 引數說明
@<DNS伺服器地址> 指定進行域名解析的域名伺服器
-t 指定要查詢的DNS資料型別,如A、MX和PTR
+trace 從跟域開始跟蹤查詢結果

4、實踐操作

① 查詢指定域名的IP地址

[root@xiezhr init.d]# dig www.xiezhrspace.cn

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.xiezhrspace.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43520
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.xiezhrspace.cn.            IN      A

;; ANSWER SECTION:
www.xiezhrspace.cn.     600     IN      A       42.192.46.248

;; Query time: 76 msec
;; SERVER: 183.60.82.98#53(183.60.82.98)
;; WHEN: Fri Jun 03 09:28:46 CST 2022
;; MSG SIZE  rcvd: 52

② 查詢MX型別的域名資訊

[root@xiezhr init.d]# dig -t MX www.xiezhrspce.cn

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> -t MX www.xiezhrspce.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 62926
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;www.xiezhrspce.cn.             IN      MX

;; AUTHORITY SECTION:
cn.                     594     IN      SOA     a.dns.cn. root.cnnic.cn. 2029763095 7200 3600 2419200 21600

;; Query time: 76 msec
;; SERVER: 183.60.82.98#53(183.60.82.98)
;; WHEN: Fri Jun 03 09:29:54 CST 2022
;; MSG SIZE  rcvd: 88

③ 顯示完整DNS解析過程

[root@xiezhr init.d]# dig @223.5.5.5 www.xiezhrspace.cn +trace

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @223.5.5.5 www.xiezhrspace.cn +trace
; (1 server found)
;; global options: +cmd
.                       3323    IN      NS      k.root-servers.net.
.                       3323    IN      NS      g.root-servers.net.
.                       3323    IN      NS      m.root-servers.net.
.                       3323    IN      NS      f.root-servers.net.
.                       3323    IN      NS      c.root-servers.net.
.                       3323    IN      NS      e.root-servers.net.
.                       3323    IN      NS      d.root-servers.net.
.                       3323    IN      NS      l.root-servers.net.
.                       3323    IN      NS      i.root-servers.net.
...

host 域名查詢工具

1、簡介

host 命令用於查詢DNS工具,可以將指定主機名轉換為IP地址

2、語法格式

host [引數選項]

3、引數說明

引數 引數說明
-a 顯示詳細的DNS資訊
-t 指定查詢的域名資訊型別,可以是“A”、”ALL“、”MX“、”NS“

4、實踐操作

① DNS查詢

[root@xiezhr init.d]# host www.xiezhrspace.cn
www.xiezhrspace.cn has address 42.192.46.248

② 查詢詳細資訊

[root@xiezhr init.d]# host -a www.xiezhrspace.cn
Trying "www.xiezhrspace.cn"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41474
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.xiezhrspace.cn.            IN      ANY

;; ANSWER SECTION:
www.xiezhrspace.cn.     600     IN      A       42.192.46.248

Received 52 bytes from 183.60.82.98#53 in 65 ms

這期主要是說了Linux系統網路相關命令,大概內容就這些了。下期根據思維導圖就到了檔案備份與壓縮相關的命令了。這些命令呢比較基礎,但也是比較重要的

涉及到的命令有: tar、gzip、zip、unzip、scp、rsync等等

敬請期待哦(●’◡’●)

專欄目錄:快速上手Linux核心命令專欄目錄

上一篇:快速上手Linux核心命令(七):Linux系統資訊相關命令x
下一篇:快速上手Linux核心命令(九):檔案備份與壓縮命令(博主正在玩命更新中)

相關文章