網路模型,IP命令,SS命令入門基礎
1. 分層對應關係

OSI七層模型和TCP/IP五層模型都屬於TCP/IP協議棧,而TCP/IP協議棧只有兩種傳輸層協議:TCP、UDP,所以對於Telnet、FTP這些協議,建議稱之為承載在TCP之上的協議,對於TFTP、SNMP這些協議,建議稱之為承載在UDP之上的協議。
-------------------------------------
2. OSI分層描述
- 物理層(Physical Layer)提供為建立、維護和拆除物理鏈路所需要的機械的、電氣的、功能的和規程的特性;有關的物理鏈路上傳輸非結構的位流以及故障檢測指示。
- 資料鏈路層(Data Link Layer)在網路層實體間提供資料傳送和接收的功能和過程;提供資料鏈路的流控。
- 網路層(Network Layer)控制分組傳送系統的操作、路由選擇、使用者控制、網路互連等功能,它的作用是將具體的物理傳送對高層透明。
- 傳輸層(Transport Layer)提供建立、維護和拆除傳送連線的功能;選擇網路層提供最合適的服務;在系統之間提供可靠的透明的資料傳送,提供端到端的錯誤恢復和流量控制。
- 會話層(Session Layer)提供兩程序之間建立、維護和結束會話連線的功能;提供互動會話的管理功能,如三種資料流方向的控制,即一路互動、兩路交替和兩路同時會話模式 。
- 表達層(Presentation Layer)代表應用程序協商資料表示;完成資料轉換、格式化和文字壓縮。
- 應用層(Application Layer)提供OSI使用者服務。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
3. ip命令:檢視或管理路由、裝置、策略路由和隧道
ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addre| route | netns }
3.1 ip link:檢視或更改裝置狀態
語法及選項
ip link show [ DEVICE ]
dev NAME:檢視指定名稱的裝置,因為這個引數是預設的,所以可以忽略dev直接輸出裝置名稱。 up and down:檢視狀態。
ip link set [DEVICE]
dev NAME:指定裝置名稱,因為這個引數是預設的,所以可以忽略dev直接輸出裝置名稱。 up and down:更改裝置的狀態為UP或DOWN。 arp on or arp off:介面是否支援ARP。 multicast on or multicast off:介面是否支援廣播。 name NAME:改變裝置的名稱。如果裝置是UP的,或者已經配置了一些地址,則不建議使用此操作。 mtu NUMBER:更改裝置的MTU。 address LLADDRESS:更改介面的MAC地址。 broadcast LLADDRESS:設定介面的廣播地址。
3.2 ip addr命令:管理協議地址
語法及選項
ip addr { add | del } IFADDR dev STRING
dev NAME:指定裝置名稱 local ADDRESS (default):為指定裝置新增IP地址,採用IP_ADDRESS/PREFIX的方式,這是預設選項,可以忽略local直接輸出IP地址/字首。 broadcast ADDRESS:指定廣播地址 label NAME:指定別名,可以為eth1:0、eth1:1這類的(除了使用IP命令建立別名,也可以通過建立名字為ifcfg-eth1:0這樣的配置檔案來配置多個地址)。 scope SCOPE_VAL:指定地址的生效範圍:global、site、link、host。
ip addr del與ip addr add的引數一致。ip addr del的裝置名是必需的引數。其餘的都是可選的。如果沒有給出引數,則刪除第一個地址。
ip addr { show | flush } [ dev STRING ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
dev NAME:檢視指定名稱的裝置,因為這個引數是預設的,所以可以忽略dev直接輸出裝置名稱。 scope SCOPE_VAL:指定地址的生效範圍:global、site、link、host。 to PREFIX:列出匹配指定字首的地址。 label PATTERN:列出label能匹配PATTERN的地址。 primary and secondary:列出primary或secondary地址。
ip addr flush與ip addr show的引數一致。不同之處在於,ip addr fulsh不會在沒有引數的情況下執行。這個命令比較危險,如果配置錯誤會清除所有地址。
3.3 ip route命令:對主機的路由進行操作
語法及選項
ip route { add | change | replace} ROUTE
to TYPE PREFIX:新增目的路由的字首,格式為IP_ADDRESS/PREFIX。如果不輸入字首,則相當於建立主機路由。 dev NAME:指定下一跳。 src ADDRESS:當本機訪問這個網段的時候,使用的源地址是哪個IP。 mtu MTU:指定mtu大小。
ip route del和ip route add有一樣的引數,但是語義略有不同。如果存在可選屬性,ip驗證它們是否與要刪除的路由的屬性一致。如果找不到具有包含指定屬性的路由條目,則ip route del將失敗。
ip route { show | flush } ROUTE
to SELECTOR:要檢視的路由,輸入IP和字首。 dev NAME:檢視指定出介面的路由。 via PREFIX:檢視指定下一跳的路由。 src PREFIX:檢視指定源地址的路由。 type TYPE:檢視指定型別的路由。
ip route flush和ip route show有著相同的引數,但是flush不會列出路由,指揮清除。
ip route netns ROUTE
ip netns add NAME:建立指定的netns; ip netns del NAME:刪除指定的netns; ip link set IFACE netns NETNAMESPACE_NAME:把指定介面移動到指定網路名稱空間中; ip netns list:列出所有的netns; ip netns exec NAME COMMAND:在指定的netns中執行命令;
4. ss命令:檢視socket狀態
語法
ss [options] [ FILTER ]
選項
-n:不解析服務服務名。 -r:嘗試解析地址與埠。 -a:檢視所有socket。 -l:檢視處於listen狀態的socket。 -o:檢視計時器資訊。 -e:檢視詳細的socket資訊。 -m:檢視socket記憶體使用情況。 -p:檢視socket使用的程序。 -i:檢視內部的TCP資訊。 -s:列印彙總統計,該選項不解析從各種來源獲取摘要的套接字列表。 -4:僅檢視ipv4的socket資訊(alias for -f inet4)。 -6:僅檢視ipv6的socket資訊(alias for -f inet6)。 -0:檢視資料包的socket資訊(alias for -f link).。 -t:檢視TCP的socket。 -u:檢視UDP的socket。 -d:檢視DCCP的socket。 -x:檢視Unix domain的sockets。 -f FAMILY:Displaysocketsof type FAMILY,Currently the following families are supported: unix, inet, inet6, link, netlink. FILTER := [ state TCP-STATE ] [ EXPRESSION ]:Please take a look at the official documentation(Debianpackageiproute doc) for details regarding filters.
例如
[leju_tianbao1@~]$sudo ss -antup sudo: ldap_sasl_bind_s(): Can't contact LDAP/">LDAP server dNetidStateRecv-Q Send-QLocal Address:PortPeer Address:Port udpESTAB0010.207.0.150:4557010.207.0.190:8649users:(("gmond",1257,3)) tcpLISTEN0128:::22:::*users:(("sshd",1219,4)) tcpLISTEN0128*:22*:*users:(("sshd",1219,3)) tcpESTAB016410.207.0.150:2210.207.69.144:11681users:(("sshd",29779,3),("sshd",29781,3)) [leju_tianbao1@~]$ss -o state established ' ( sport = :22 or dport = :23423 ) ' dst 10.207.69.0/24 Recv-Q Send-QLocal Address:PortPeer Address:Port 05210.207.0.150:ssh10.207.69.144:11681timer:(on,438ms,0) [leju_tianbao1@~]$ss -o state established ' ( sport = :22 ) ' Recv-Q Send-QLocal Address:PortPeer Address:Port 05210.207.0.150:ssh10.207.69.144:11681timer:(on,454ms,0) [leju_tianbao1@~]$ss -o state established '( dport = :ssh or sport = :ssh )' Recv-Q Send-QLocal Address:PortPeer Address:Port 05210.207.0.150:ssh10.207.69.144:11681timer:(on,525ms,0)
Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-12/155641.htm