1. 程式人生 > >Liunx運維(十)-網路管理命令

Liunx運維(十)-網路管理命令

文件目錄:

一、ifconfig:配置或顯示網路介面資訊

二、ifup:啟用網路介面

三、ifdown:禁用網路介面

四、route:顯示或管理理由表

五、arp:管理系統的arp快取

六、ip:網路配置工具

七、netstat:檢視網路狀態

八、ss:檢視網路狀態

九、ping:測試主機之間的網路的連通性

十、traceroute:追蹤資料傳輸路由狀況

十一、arping:傳送arp請求

十二、telnet:遠端登入主機

十三、nc:多功能網路工具

十四、ssh:安全地遠端登入主機

十五、wget:命令列下載工具

十六、mailq:顯示郵件傳輸佇列

十七、mail:傳送和接受郵件

十八、nslookup:域名查詢工具

十九、dig:域名查詢工具

二十、host:域名查詢工具

二十一、nmap:網路探測工具和安全/埠掃描器

二十二、tcpdump:監聽網路流量

---------------------------------------分割線:正文--------------------------------------------------------

一、ifconfig:配置或顯示網路介面資訊

1、ifconfig  #顯示系統中所有網絡卡的資訊

 2、ifconfig ens33 #顯示指定網絡卡的資訊

 3、ifconfig -a #檢視所有的網絡卡資訊

 4、ifconfig ens33 up #啟動網絡卡

 5、ifconfig ens33 down #關閉網絡卡

 6、ifconfig ens33 192.168.37.10 #配置網絡卡的ip地址

 7、ifconfig ens33:1 192.168.37.10 netmask 255.255.255.0 up #網絡卡設定別名

 8、ifconfig ens33 hw ether 00:0c:29:00:33:25 #修改網絡卡的MAC地址

 9、永久修改網絡卡資訊,需要修改網絡卡的配置檔案,否則重啟後失效

網絡卡:ens33:對應配置檔案路徑:/etc/sysconfig/network-scripts/ifcfg-ens33

 

二、ifup:啟用網路介面

ifup ens33 #啟用網路介面

 

 三、ifdown:禁用網路介面

ifdown ens33 #關閉網絡卡後網絡卡資訊消失

 

四、route:顯示或管理理由表

1、route #檢視路由表資訊,預設會根據IP地址進行DNS解析生成主機名

 2、route -n #不進行DNS域名解析,會加快顯示速度

 3、具體含義:

Destionation:網路號,network的意思

Gateway:閘道器地址,通過該IP連接出去,0.0.0.0表示該路由是直接由本機傳送出去

Genmask:子網掩碼

Flags:路由標記資訊,具體如下:

U-啟動狀態

H-目標路由是一個主機IP非網路

R-使用動態路由時,恢復路由資訊標記

G-表示需要外部的主機來轉接傳遞資料

M-表示路由已經被修改了

D-已經由服務設定為動態路由

!-這個路由將不會被接受

Metric:需要經過幾個網路節點才能到達路由的目標網路地址

Ref:參考到此路由規則的數目

Use:有幾個轉送資料包參考到了此路由規則

Iface:路由對應的網路裝置介面

4、route del default #刪除閘道器方法1

route del default gw 192.168.37.2  #刪除閘道器方法

 5、route add default gw 192.168.37.2 #新增閘道器方法1,指明閘道器地址

route add default gw 192.168.37.2 dev ens33  #新增閘道器方法2,指明閘道器裝置,適用於多塊網路裝置的主機

 6、route add -net 192.168.1.0/24 gw 192.168.37.8  #配置網路路由,實現兩塊網絡卡地址,192.168.37網段可訪問192.168.1.0網段

 7、路由配置永久生效配置方法:

vi /etc/sysconfig/network-scripts/route-eth1 #方法一,預設此檔案不存在

 vi /etc/sysconfig/network-scripts/route-eth1 #方法二,預設此檔案不存在

 vi /etc/rc.local #方法三,寫入開機啟動

 配置預設閘道器可以寫在網絡卡內

 8、配置和刪除主機路由

route add -host 192.168.2.13 dev ens33 #新增去往某個主機的路由

route del -host 192.168.2.13 dev ens33 #刪除主機路由

 

五、arp:管理系統的arp快取

1、arp #顯示arp快取區的所有條目

Flag:C-arp快取記憶體中條目,M-靜態arp條目

2、arp -n #以數字形式顯示arp快取條目

 3、arp -n 192.168.37.1 #指定查詢arp資訊

 4、arp -s 192.168.37.11 00:0c:29:c0:5a:ef #靜態繫結ip地址與mac地址

 5、arp -d 192.168.37.11 #刪除靜態ARP繫結

 

 六、ip:網路配置工具

1、ip link show dev ens33 #顯示ens33網絡卡屬性

 2、ip -s -s  link show dev ens33 #使用兩個-s獲取更加詳細的屬性

 3、ip link set dev ens33 #啟用ens33網絡卡

 4、ip link set down  ens33 #關閉ens33網絡卡

 5、ip link set ens33 address 00:0c:29:00:33:24 #修改網絡卡mac地址

 6、ip a #同等與ip address檢視啟用與未啟用的網絡卡資訊

 7、刪除ip地址

ip a del 192.168.37.8/24 dev ens33 #刪除ip地址

 8、新增ip地址(並激活)

ip a add  192.168.37.8/24 dev ens33 #新增ip地址

9、ip route #檢視路由表

ip route | column -t #colum格式化,-t預設空格分隔判斷輸入行的列數來建立一個表

 10、ip route add 192.168.10.0/24 via 192.168.37.2 dev ens33 #新增靜態路由

 11、ip route del 192.168.10.0/24 via 192.168.37.2 dev ens33 #刪除靜態路由

 12、ip neighbour #使用neighbour檢視arp快取

 13、ip neighbour add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev ens33 #新增靜態ARP

 14、ip neighbour del  192.168.1.100  dev ens33 #刪除靜態ARP

 

七、netstat:檢視網路狀態

1、netstat -an #顯示所有連線資訊

第一行:活動網路(TCP/IP)連線說明

第一列:Proto:socket使用的協議(TCP、UDP、RAW)

第二列:Recv-Q:接收到但是還未處理的位元組數

第三列:Send-Q:已經發送但是未被遠端主機確認收到的位元組數

第四列:Loacl Address:本地主機地址和埠

第五列:Foreign Address:遠端主機地址和埠

第六列:State:socket的狀態,通常僅僅TCP的狀態,狀態值可能有ESTABLISHED、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、LISTEN等

狀態解釋:

ESTABLISHED:服務併發連線

SYN_SENT:嘗試建立連線

SYN_RECV:已經從網路上收到一個連線請求

FIN_WAIT1:socket已關閉,連線正在或正要關閉

FIN_WAIT2:連線已關閉,冰球socket正在等待遠端結束

TIME_WAIT:socket正在等待關閉處理仍在網路上的資料包,這個連線狀態在生產場景中很重要,需要重點關注

CLOSED:socket不再被佔用

CLOSED_WAIT:遠端已經結束,等待socket關閉

LAST_ACK:遠端已經結束,並且socket也已關閉,等待acknowlegement

LISTEN:socket正在監聽連線請求

CLOSING:socket正在監聽連線請求

UNKNOWN:socket狀態未知

2、netstat -ntplu #顯示所有TCP/UDP正在監聽的連線資訊

 -p:程序號與程序名  -n:顯示ip地址,不進行dns解析成主機名、域名   -t:顯示所有tcp連線  -u:顯示所有udp連線 -l:顯示所有LISTEN狀態的網路連線

 3、 netstat -rn #顯示當前系統的路由表

 4、netstat -i #顯示網路的介面狀況

 Iface:表示網路裝置的介面名稱

MTU:表示最大傳輸單元,單位為位元組

RX-OK/TX-OK:表示已經準確無誤地接受/傳送了多少資料包

RX-ERR/TX-ERR:表示接受/傳送資料包時產生了多少錯誤

RX-DRP/TX-DRP:表示接受/傳送資料包時丟棄了多少資料包

RX-OVR/TX-OVR:表示由於誤差而遺失了多少資料包

Flg:表示介面標記,其中各標記含義具體如下。

  L:表示該介面是個迴環裝置。

  B:表示設定了廣播地址。

  M:表示接受所有資料包。

  R:表示介面正在執行。

  U:表示介面處於活動狀態。

  O:表示在該介面上禁用arp。

  P:表示一個點到點的連線。

正常情況下,RX-ERR/TX-ERR、RX-DRP/TX-DRP、RX-OVR/TX-OVR值應該為0,如果這幾項值不為0,並且很大,那麼網路質量肯定有問題,網路傳輸效能也一定會下降

 

八、ss:檢視網路狀態

1、ss -an #顯示所有socket連線

 ss -an | column -t #格式化展示

 2、ss -ntplu|column -t #顯示所有正在監聽的tcp和udp連線

 3、ss -s #統計當前established、closed、orphaned、waiting的所有tcp socket數量

 

九、ping:測試主機之間的網路的連通性

1、ping www.baidu.com #ping命令直接接域名或IP

 2、ping -c 3 -i 3 -s 1024 -t 255 www.baidu.com #-c 3:傳送3次ICMP包,-i 3:每次發包時間間隔3s -s:1024 設定傳送資料包大小1024位元組 -t 255 設定傳送資料庫的ttl為255

 

 十、traceroute:追蹤資料傳輸路由狀況

1、traceroute www.baidu.com #檢視主機的路由狀況

 2、traceroute -I www.baidu.com #加快查詢時間 ping查詢

 3、traceroute -In www.baidu.com #不解析主機名

 

十一、arping:傳送arp請求

1、arping -f 192.168.37.9  #使用-f 選項收到第一個響應時就退出,用於檢測目的主機是否存活

 2、arping -f 10.0.0.3 #沒有執行的主機不會響應,命令一直等待,值到ctrl+c終止

 3、arping -c 1 -I ens33 -s 10.0.0.5 10.0.0.2 #10.0.05-vip地址,10.0.0.2 上網閘道器。負載均衡器宕機時arp快取導致故障時,讓客戶端快取失效

 

十二、telnet:遠端登入主機

telnet為明文,ssh為密文

telnet 192.168.37.9 22 #連線成功 ctrl+]進入

 

 十三、nc:多功能網路工具

測試nv命令時需要關閉防火牆和seliunx

systemctl stop firewalld.service #關閉防火牆

getenforce  #關閉selinux

1、nc -l 12345 > test01.nc #監聽12345埠,將資料寫入test01.nc

  2、nc 192.168.37.8 12345 < test01.txt #使用nc命令向192.168.37.8埠傳輸 test01.txt檔案

 3、 nc -l 80 < testweb.txt #一直監聽80埠,test.txt是傳送給使用者的內容

 4、nc cnblogs.com 80 #手動建立與HTTP伺服器建立連線的例子

 5、nc -z -v 192.168.37.8 20-30  #掃描主機20-30埠

6、nc 127.0.0.1 12345 #模擬qq聊天工具,以下為視窗1,視窗2,視窗3

 

 

 

十四、ssh:安全地遠端登入主機

1、ssh 192.168.37.9 #等同於ssh -p 22(預設22)

  ctrl+d或logout退出

 2、ssh -p 22 [email protected] #登入指定使用者

 3、ssh -v [email protected] #登入慢問題排查

 

十五、wget:命令列下載工具

1、特點:支援斷點續傳,支援FTP與HTTP,支援代理伺服器,非常穩定

2、wget https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png #wget接-下載地址

 3、wget -o ./testdir/123.png https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png #-o 指定檔案報錯的地址與檔名

 4、wget --limit-rate=3k https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png #限速下載3k/s

 5、wget -c http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso #斷點續傳

 6、wget -c -b http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso #-b 使用後臺下載

7、wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso #偽裝代理名稱下載,用於一些網站的限制

 8、wget -q -T 3 --tries=1  --spider www.baidu.com #採用靜默訪問方式,3秒超時,重試1此,模擬爬蟲方式進行訪問

 

 十六、mailq:顯示郵件傳輸佇列

1、mailq #檢視郵件佇列

 2、mailq -v #調式資訊

 

 十七、mail:傳送和接受郵件

1、mail是個軟連結,真實的程式是mailx

 2、mail -s "hello world from bk" [email protected] #傳送郵件,以下手動輸入,ctrl+d結束,郵件發出

 3、echo -e "hello,this is a mail\nwelcom to www.baidu.com"|mail -s "hello from bk" [email protected] #使用管道傳送郵件,echo後面是正文

 4、#使用輸入重定向將檔案內容傳送mail

 5、echo "test"|mail -s "test" -a abc.jpg  [email protected] #傳送郵件附件

 

 十八、nslookup:域名查詢工具

1、 nslookup #進入互動模式

 2、nslookup - 223.5.5.5 #命令列指定解析域名伺服器

 3、nslookup www.baidu.com 223.5.5.5 #非互動模式-使用域名解析伺服器地址 查詢域名

 

十九、dig:域名查詢工具

1、dig www.baidu.com #查詢指定域名的ip

 2、dig -x 223.5.5.5   #反向域名解析

 3、dig -t MX www.baidu.com #查詢MX型別的域名

 4、dig @223.5.5.5 www.baidu.com +trace #顯示域名解析成IP的完整過程

 

 5、dig +nocmd +nocomment +nostat www.baidu.com #精簡一些說明資訊

 

 二十、host:域名查詢工具

1、host www.baidu.com #域名查詢

 2、host -a www.baidu.com #查詢詳細資訊

 3、host -a www.baidu.com 223.5.5.5 #直接接指定的dns伺服器IP

 4、host -t MX www.baidu.com #指定查詢型別

 

 二十一、nmap:網路探測工具和安全/埠掃描器

1、nmap 192.168.37.9 #檢視主機當前開放的埠

 2、nmap -p 1024-65535 192.168.37.9 #掃描指定的埠

 3、nmap 192.168.37.0/24 #掃描區域網網段

 4、nmap 192.168.37.7-9 #範圍掃描

 5、nmap -O -sV 192.168.37.8 #探測目標主機服務和作業系統

 

 二十二、tcpdump:監聽網路流量

1、tcpdump #監視第一個網路介面下所有的資料包

 2、tcpdump -i ens33 -q #-i指定埠 -q精簡資訊輸出

 3、tcpdump -n host 192.168.37.8 -i ens33  #監聽指定主機 -n不進行域名解析,加快顯示

 4、tcpdump -n src host 192.168.37.8 -i ens33  #只監聽從192.168.37.8發出的資料包

 5、tcpdump -n dst host 192.168.37.8 -i ens33 #只監聽192.168.37.9收到資料包

 6、tcpdump -nn port 22 -i ens33  #-n不進行DNS解析,但是22會換ssh,-nn徹底

 7、tcpdump -n arp -i ens33 #監聽指定協議資料包

 

 8、tcpdump ip host 192.168.37.8 -i ens33 and ! 168.168.37.9 -i ens33  #獲取主機1與除主機2外通訊的所有資料包

 9、tcpdump tcp dst port 80 or scr 192.168.37.8 -i ens33 -n #抓取tcp包

&n