網絡和進程管理命令及bash循環

netstat,dstat,route,nmcli,bash,until循環,while循環

osi七層模型和TCP/IP五層模型

應用層————————————–|——|

表示層————————————–|應用層|

會話層————————————–|——|

傳輸層————————————–傳輸層

網絡層————————————–網絡層

數據鏈路層———————————-數據鏈路層

物理層————————————–物理層

 

osi的七層參考模型中,應用層、表示層和會話層對應于TCP/IP模型中的應用層,其他層次都是一一對應,應用數據從源主機的應用層開始,從上往下層層封裝。達到目的端之后再從物理層開始層層解封裝,直到到達相關的應用層接口。

OSI參考模型和TCP/IP的對應關系和對應的網絡協議如圖所示:

QQ截圖20180409213927

應用層:直接面向各種應用和服務,向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網絡其它主機上注冊的接口。TELNET會話提供了基于字符的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網絡內機器間的文件拷貝功能。

表示層:對數據進行格式化,進行代碼轉換,數據加密。

會話層:與其他對等層建立或解除連接。

傳輸層:提供端對端的接口,提供應用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現后者,傳輸層協議規定接收端必須發回確認,并且假如分組丟失,必須重新發送。

網絡層:負責相鄰計算機之間的通信。其功能包括三方面。

一、處理來自傳輸層的分組發送請求,收到請求后,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然后將數據報發往適當的網絡接口。

二、處理輸入數據報:首先檢查其合法性,然后進行尋徑–假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。

三、處理路徑、流控、擁塞等問題。

數據鏈路層:提供主機之間的二層通訊,傳輸有地址的幀,對幀進行CRC校驗,并抽取其中的ip包發送給網絡層。

物理層:將物理的電信號轉化為bit流,并將bit流數據傳遞給二層。

iproute家族命令

iproute家族主要包括的命令有:ip,route,ifconfig,netstat,ss,ifup/ifdown,hostnamectl

ifconfig:用于接口地址查詢和管理,在centos7上已經被ip命令取代,不過仍然可以使用

語法結構:ifconfig [option] [interface]

常用選項:

-a:顯示所有的網絡接口信息,包括狀態是down的

-s:簡要地顯示網卡信息

-v:顯示網絡接口所接收到的數據包的錯誤信息

關閉/啟動網卡:

ifconfig INTERFACE up

ifconfig INTERFACE down(ssh登錄的慎用)

修改IP地址:

ifconfig? INTERFACE? IPADDRESS

ifconfig? INTERFACE? IPADDTESS netmask? NETMASK

ifconfig? INTERFACE? IPADDRESS netmask? NETMASK? broadcast BROADCAST

開啟/關閉ARP協議:

ifconfig INTERFACE arp(開啟)

ifconfig INTERFACE -arp(關閉)

設置最大傳輸單元(MTU):

ifconfig INTERFACE mtu MTU(不能小于1500)

 

route命令:

路由查看及管理

使用route命令之前需要先安裝net-tools命令:yum install net-tools

語法結構:route [option] [argument]

常用選項:

-A:設置地址類型

-C:打印并將linux的路由緩存

-v:顯示詳細消息

-n:不執行DNS反向查找,直接顯示數字形式的IP地址

-e:使用netstat格式顯示路由表

-net:顯示到一個網絡的路由表

-host:顯示到一個主機的路由

常用參數:

add:增加指定路由

del:刪除指定路由

target:目的網絡或目的主機

gw:設置默認網關

mss:set the MTU of the route to Mb

window W:set the TCP window size for connection over this route to W bytes

dev IF :force the route to accociated with the specified device

示例:

(1)添加網關

route add -net 192.168.99.0 netmask 255.255.255.0 dev ens33

//增加一條去往192.168.99.0/24網絡的路由

route add -net 192.168.99.0 netmask 255.255.255.0 reject

//屏蔽一條路由

(2)刪除路由

route del -net 192.168.99.0 netmask 255.255.255.0 dev ens33

//刪除去往192.168.99.0/24網絡的路由

route del -net 192.168.99.0 netmask 255.255.255.0 reject

//刪除這條屏蔽路由

route del default gw 192.168.99.1

route add default gw 192.168.99.1,添加的路由默認metric為零

QQ截圖20180409215821

netstat:

顯示網絡連接狀態,接口狀態,路由表信息

語法結構:netstat [option]… | [grep] [PATTERN]

常用選項:

-a:顯示所有選項,默認不顯示LISTEN相關

-t:僅顯示tcp相關選項

-u:僅顯示udp選項

-n:僅顯示數字類型的地址,而不顯示主機名和用戶名

-l:僅列出在listen狀態的服務

-p:顯示程序名

-r:顯示路由信息,路由表

-e:顯示擴展信息,-ee可以顯示最多的信息

-s:按協議來進行統計顯示

-c:每隔一個固定時間執行netstat命令

示例:

(1)顯示所有端口

netstat -a

(2)顯示所有TCP端口

netstat -at

(3)顯示每個協議的統計信息

netstat -s

(4)顯示pid和進程名稱

netstat -p

(5)持續輸出netstat信息

netstat -c

(6)顯示路由信息

netstat -r

(7)找出特定程序信息

netstat -ap | grep ssh

ss命令:

可以用來獲取socket的統計信息,類似于netstat,但能顯示更詳細的狀態信息,比netstat更快捷高效。

nmcli:是centos7的網絡管理命令工具

語法結構:nmcli [option] OBJECT {COMMAND | help}

示例:

(1)顯示所有連接

nmcli con show;nmcli connection show

(2)顯示所有活動連接

nmcli con show-active

(3)顯示網絡連接配置

nmcli con show “System ens33”

(4)顯示設備狀態

nmcli dev status

(5)顯示網絡接口屬性

nmcli dev show ens33

(6)創建連接(默認使用dhcp)

nmcli con add con-name default type Ethernet ifname ens34

(7)刪除連接

nmcli con del default,也可以直接刪除配置文件

(8)創建靜態連接(static)

nmcli con add con-name? static ifname ens34 autoconnect no type Ethernet ip4 192.168.99.103/24 gw4 192.168.99.254

dstat命令:

dstat是可以取代vmstat,iostat,netstat和ifstat的一個功能強大的多功能產品。

特性:

(1)結合了vmstat,iostat,ifstat,netstat以及更多的信息

(2)實時顯示統計信息

(3)啟用或對監控項進行排序

(4)模塊化設計

(5)使用python編寫,易于后續功能擴展

(6)包含許多擴展插件,更易于增加監控項目

(7)支持CSV格式報表,能夠導入到excel形成圖形

語法結構:dstat [option]

顯示字段含義:

total-cpu-usage:cpu的使用率

dsk/total:磁盤的讀寫總數

net/total:網絡設備接收和發送總數

paging:系統的分頁活動,數值越大代表系統使用了大量的交換空間,或者說明內存很分散,一般來說0,0是比較希望看到的數值

system:中斷(int)和上下文切換(csw),較大的數值代表系統有大量的進程擁塞。

常用選項:

-c:支持cpu性能指標相關的統計數據

-d:顯示disk相關的速率數據

-g:顯示page相關的速率數據

-i:顯示interrupt相關的速率數據

-l:顯示load avarge相關的速率數據

-m:顯示memory相關的速率數據

-n:顯示網絡收發數據的速率

-p:顯示進程相關的統計數據

-r:io請求速率

-s:顯示swap相關數據

-y:顯示系統相關的數據,包括中斷和進程切換

 

–top-cpu:顯示最占用cpu的進程

–top-io:顯示最消耗io的進程

–top-io:顯示最消耗block io的進程

–top-mem:顯示最消耗內存的進程

–ipc:顯示進程間通信相關的速率數據

–raw:顯示raw套接的相關的數據

–tcp:顯示tcp套接字相關的數據

–udp:顯示udp套接字相關的數據

–unix:顯示unix sock相關的統計數據

 

使用until和while分別實現192.168.0.0/24網段內,地址是否能夠ping通,弱ping通則輸出”success!”,若ping不通則輸出”fail!”

(1)使用until循環自動測試網絡

#!/bin/bash

network=192.169.0

declare -i option=1

until [ “$option” -gt 254 ]

do

ping -c 1 -w 1 ${network}.${option} &> /dev/null && result=0 || result=1

option=$option+1

if [ “$result” -eq 0 ]

then

echo -e “${network}.${option} is available”

else

echo -e “${network}.${option} is unavailable”

fi

done

(2)使用while循環自動測試網絡

#!/bin/bash

network=192.168.99

declare -i option=1

while [ “$option” -lt 254 ]

do

ping -c 1 -w 1 ${network}.${option} &> /dev/null && result=0 || result=1

if [ “$result” -eq 0 ]

then

echo -e “${network}.${option} is available”

else

echo -e “${network}.${option} is unavailable”

fi

option+=1

done

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95614

(0)
~~
上一篇 2018-04-10 08:34
下一篇 2018-04-10

相關推薦

  • linux通配符和正則表達式

    通配符、正則表達式

    2018-04-17
  • LFS實驗第一次——第一章

    環境準備:Centos6.8虛擬機 2G內存 2顆CPU 200G硬盤分區情況:/ 50G ?/boot 1G ?/swap 2G /data 30G 安裝時吧開發工具安裝上(gcc)

    2018-03-29
  • 數組,字符串切片,高級變量

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合 數組名和索引 索引:編號從0開始,屬于數值索引 注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引 bash4.0版本之后開始支持 bash –version?? 查看bash版本 bash的數組支持稀疏格式(索引不連續) 聲明數組: de…

    Linux筆記 2018-05-13
  • 運維之pxe、dhcp、cobbler

    運維之pxe、dhcp、cobbler 把一個主機接入TCP/IP網絡,要配置哪些網絡參數:ip/mask、gateway、dns server;參數配置方式:1、靜態配置;2、動態分配:a、bootp協議b、dhcp協議:引入了“租約”的bootp; DHCP:動態主機配置協議:arp:address resolving protocol:地址解析協議:I…

    Linux筆記 2018-07-22
  • 新建虛擬機+安裝Centos7

    一、基本環境 筆記本電腦:widows 7 虛擬機版本:vmware workstation 12 鏡像版本:CentOS-7-x86_64-Everything-1804 下載地址:mirrors.aliyun.com www.centos.org 一、新建虛擬機 1.創建虛擬機 2.選擇“典型”,點擊下一步。 3.選擇“稍后安裝系統”,點擊下一步。 4.…

    2018-07-22
  • Linux第一周小結

    Linux常用命令、鏈接

    Linux筆記 2018-04-01
欧美性久久久久