一、osi七層模型和TCP/IP五層模型
1、模型圖
2、每一層的功能和用到的協議
二、iproute2家族
1、概述
ip 是 iproute2 軟件包里面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具。例如:?ifconfig、route 等。
2、命令格式
ip [ OPTIONS ] OBJECT { COMMAND | help }
● OPTIONS
-V, -Version:打印ip的版本;
-s, -stats, -statistics:輸出更加詳細的信息;
-f, -family: 這個選項后面接協議種類,包括:inet、inet6或者 link,強調使用的協議種類;
-o, -oneline:對每行記錄都使用單行輸出,換行符使用”\”代替。?如果需要使用 wc、grep 等工具處理 ip的輸出會用到這個選項;
-r, -resolve:查詢域名解析系統,用獲得的主機名代替主機IP地址;
-4:是-family inet的簡寫;
-6:是-family inet6的簡寫;
-0:是-family link的簡寫。
● OBJECT
link:網絡設備(網卡);
address:網卡的IP或者IPv6地址;
neighbor:ARP或者NDISC緩沖區條目;
route:路由表條目;
rule:路由策略數據庫中的規則;
maddress:多播地址;
mroute:多播路由緩沖區條目;
tunnel:IP隧道,比如GRE。
● COMMAND
COMMAND 設置針對指定對象執行的操作,一般情況下,ip 支持對象的操作有:增加(add)、刪除(delete)和展示(show 或者 list)。這個命令會列出這個對象支持的命令和參數的語法,如果沒有指定對象的操作命令,ip 會使用默認的命令。一般情況下,默認命令是list,如果對象不能列出,就會執行 help 命令。
3、使用實例
● ip link set:修改設備的屬性
● ip link show:顯示設備的屬性
輸出格式如下,只顯示處于活動狀態的接口信息,信息中可以看到接口的狀態、MTU、MAC地址、隊列長度等信息;
使用-s(統計信息)選項查看更加詳細的信息:
命令:ip -s link show eth0
RX和TX分別代表接收和發送,其中的統計信息包括:
如果-s選項出現兩次或多次,則會輸出更加詳細的錯誤統計信息:
● ip address add:添加一個新的IP地址
● ip address delete:刪除一個IP地址
該命令與ip address add的參數一致,其中只有設備名稱是必需的參數,其它都是可選參數。如果沒有給定除設備名之外的其它參數,命令就會刪除這個設備的第一個地址。
示例:設備ens36有兩個IPv4地址,刪除第二個IPv4地址 192.168.12.12/24
命令:ip address delete 192.168.12.12/24 dev ens36
● ip address show:顯示IP地址
輸出格式如下,前兩行和ip link show的輸出是相同的,接著就是IPv4、IPv6、廣播地址以及其它的地址屬性;
● ip address flush:清除IP地址
該命令與ip address show的參數相同,唯一的區別是,如果不給定參數,它什么都不會做。
示例:刪除當前接口上IPv4地址 10.1.1.1/30、10.1.1.5/30、10.1.1.9/30、10.1.1.13/30并輸出詳細信息;
命令:ip -s -s address flush to 10.0.0.0/8
● ip route add:新增路由條目該命令和ip route add的參數一致;
● ip route delete:刪除路由條目
示例:刪除一條路由條目 10.1.1.0/24,下一跳是192.168.1.1;
命令:ip route delete 10.1.1.0/24 via 192.168.1.1
● ip route show:列出路由條目
輸出格式如下:
● ip route flush:清除路由表
該命令和 ip route show 的參數一致,只不過被操作的路由表不會被顯示出來。它和 ip route show 命令唯一的區別是它們的缺省操作,ip route show 會顯示出路由表 main 的所有條目,而 ip route flush 只會給出幫助信息,不對路由表進行任何操作。
示例: 刪除路由表中的所有網關路由;
命令: ip -4 route flush scope global type unicast
● ip route get:獲得單個路由條目的信息
這個命令的輸出格式和 ip route show相同。
示例:獲取目標地址為114.114.114.114的路由條目信息;
其它的OBJECTS,如neighbor、rule、mroute可通過命令man ip-neighbor、man ip-mroute、man ip-rule查看詳細用法。
三、進程管理工具
1、htop
● 概述
htop是Linux系統下一個基于文本模式的、交互式的進程查看器,主要用于控制臺或shell中,可以替代top,或者說是top的高級版。它有如下優點:
a. 快速查看關鍵性能統計數據,如CPU(多核布局)、內存/交換使用;
b. 可以橫向或縱向滾動瀏覽進程列表,以查看所有的進程和完整的命令行;
c. 殺掉進程時可以直接選擇而不需要輸入進程號;
d. 通過鼠標操作條目;
e. 比top啟動得更快。
● htop頁面信息
運行htop后左上角顯示CPU、內存、交換區的使用情況,右邊顯示任務、負載和開機時間;
以上各項說明:
PID:進程的標識號;
USER:運行此進程的用戶;
PRI:進程的優先級;
NI:進程的優先級別值,默認為0,可以進行調整;
VIRT:進程占用的虛擬內存值;
RES:進程占用的物理內存值;
SHR:進程占用的共享內存值;
S:進程的運行狀況,R表示正在運行,S表示休眠、等待喚醒,Z表示僵死狀態;
CPU%:該進程占用的CPU使用率;
MEM%:該進程占用的物理內存和總內存的百分比;
TIME+:該進程啟動后占用的總的CPU時間;
Command:進程啟動的啟動命令名稱。
● htop快捷鍵
F1:顯示幫助信息;
F2:htop設定,Meters可以設置頂端的顯示信息;Display options可以設置需要顯示的內容;Colors可以設置界面的顏色;Columns可以增加或取消要顯示的各項內容。
F3:搜索進程,在界面下按F3或直接輸入”/”就可以直接進入搜索模式,是按照進程名進行搜索的。
F4:過濾器,相當于模糊查找,不區分大小寫。在下方輸入關鍵字進行過濾查找。
F5:以樹形方式顯示
F6:選擇排序方式
F7, F8:調整進程nice值,F7是減?。籉8是增大,nice值的范圍是-20~19。這里將htop進程的nice值增大至15。
F9:殺死進程,選擇某進程后,可以按F9殺死該進程。
2、vmstat
● 概述
vmstat命令可以顯示進程隊列、內存、交換空間、塊I/O和CPU的活動信息;
● 命令格式
vmstat [options] [delay [count]]
● 常用選項
-n:只在開始時顯示一次各字段名稱;
-a:顯示活躍和非活躍內存信息;
-m:顯示/proc/slabinfo;
-s:顯示內存相關統計信息;
-S:使用指定單位顯示,默認單位是K;
● 使用示例:
每隔5秒顯示一次信息,顯示2次;
命令:vmstat 5 2
顯示活躍和非活躍的內存信息;
命令:vmstat -a
以M為單位,顯示內存相關統計信息;
命令:vmstat -s -S M
● vmstat的輸出項說明
3. iostat
● 概述
iostat命令用于輸出CPU和磁盤I/O相關的統計信息;
● 命令格式
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | … } ] [ [ -T ] -g group_name ] [ -p [ device [,…] | ALL ] ] [ device […] | ALL ] [ interval [ count ] ]
● 常用選項
-c:僅顯示CPU統計信息;
-d:僅顯示磁盤統計信息;
-k:以KB為單位顯示每秒的磁盤請求數;
-m:以MB為單位顯示每秒的磁盤請求數;
-p [ { device [,…] | ALL } ]:用于顯示塊設備及系統分區的統計信息;
-t:在輸出數據時,打印搜集數據的時間;
-x:輸出擴展信息;
● 使用示例:
每隔2秒以MB為單位顯示一次sda及上面所有分區的統計信息,共輸出3次;
命令:iostat -m -p sda 2 3
每隔5秒顯示磁盤統計信息;
命令:iostat -d 5
每隔2秒顯示一次sda的擴展統計信息,僅顯示1次;
命令:iostat -x sda 2 1
● avg-cpu部分的輸出項說明
● Device部分的輸出項說明
● Device部分擴展輸出項說明
4. glances
● 概述
glances 工具可以在用戶的終端上實時顯示重要的系統信息,并動態地對其進行更新。主要可以監控CPU、內存、磁盤、網絡、消耗資源最多的進程等信息;
● 命令格式
glances [OPTIONS]
● 常用選項
-b:顯示網絡連接速度;
-B BIND_ADDRESS:綁定服務器端IP地址或者主機名稱;
-c CLIENT:連接glances服務器;
-d:關閉磁盤I/O模塊;
-e:顯示傳感器溫度;
-f FILE:設置輸出文件,格式是HTML或者CSV;
-m:關閉掛載的磁盤模塊;
-n:關閉網絡模塊;
-p PORT:設置運行端口,默認是61209;
-P PASSWORD:設置客戶端密碼;
-s:設置glances運行模式為服務器;
-t SEC:設置屏幕刷新時間間隔,單位是秒,默認是2秒;
-h:顯示幫助信息;
-V:顯示版本信息;
● 提供給用戶使用的快捷鍵
h:顯示幫助信息;
q:離開程序退出;
c:按照CPU實時負載對進程排序;
m:按照內存使用情況對進行排序;
i:按照I/O使用情況對進行排序;
p:按照進程名稱排序;
d:顯示磁盤讀寫情況;
w:刪除日志文件;
l:顯示日志;
s:顯示傳感器信息;
f:顯示系統信息;
● 顯示glances工作界面
命令:glances
● 進程部分輸出項說明
● glances web server
命令:pip install bottle
? ? ? ? ? ? glances -w
● glances輸出csv表格
命令:glances –export-csv /tmp/glances.csv
四、bash編程
使用until和while分別實現192.168.10.0/24?網段內,地址是否能夠ping通,若ping通則輸出”success!”,若ping不通則輸出”fail!”
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102706