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