三分鐘速學linux網絡通訊命令

在這裏插入圖片描述

一、ping命令 - 連通性測試

  1. ping 簡介:
    ping命令-網工神器,主要用來測試主機之間網絡的連通性,基於icmp實現,linux和Windows下運行ping命令有所不同,windows 一般會發出4個請求就結束運行該命令( ping -t 和linux效果差不多);而Linux下不會自動終止,此時需要我們按CTR+C終止或者使用-c參數爲ping命令指定發送的請求數目。
    在這裏插入圖片描述
  2. 語法格式: ping【參數】【目標主機】
  3. 常用參數
參數 含義
d 使用Socket的SO_DEBUG功能
-c 指定發送報文的次數
-i 指定收發信息的間隔時間
-I 使用指定的網絡接口送出數據包
-l 設置在送出要求信息之前,先行發出的數據包
-n 只輸出數值
-p 設置填滿數據包的範本樣式
-q 不顯示指令執行過程
-R 記錄路由過程
-s 設置數據包的大小
-t 設置存活數值TTL的大小
-v 詳細顯示指令的執行過程
  1. 應用實例
  • 檢查和百度的連通性(ping 4次,每次間隔四秒並記錄路由信息)
ping -c 4 -i 4 -R www.baidu.com

在這裏插入圖片描述

  • 利用ping命令獲取指定網站的IP地址
ping -c 1 www.baidu.com | grep from | cut -d " " -f 4

二、netstat命令 - 顯示網絡狀態

  1. netstat命令簡介:
    Netstat 用於顯示與IP 、TCP 、UDP 和ICMP 協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。
  2. 常用的參數:
參數 含義
-a 顯示所有的連接
-r 顯示內置路由表
-l 顯示監聽服務器套接字
-i 顯示網卡信息
-n 不解析名稱(不把端口解析成服務)
-g 顯示組播信息
-t 顯示tcp傳輸協議的連線狀況
-u 顯示UDP傳輸協議的連線狀況
-s 顯示網絡統計
-p 顯示正在使用Socket的程序識別碼和程序名稱

3.應用實例

  • 顯示本機的tcp和udp連接,監聽服務端口並顯示pid和程序名
netstat -lntup  

在這裏插入圖片描述

-統計機器中網絡連接各個狀態個數

netstat -an | awk '/^tcp/ {++S[$NF]}  END {for (a in S) print a,S[a]} '

在這裏插入圖片描述

-查看連接某服務端口最多的的IP地址

netstat -ant|grep "*"|awk '{print $5}'|awk -F: '{print $1}'|sort -nr|uniq -c
  • 查看程序運行的端口
netstat -ap | grep nginx

在這裏插入圖片描述

  • 顯示核心路由
netstat -rn

在這裏插入圖片描述

三、ip命令-顯示與操作路由

  1. ip命令簡介:
    ip命令 --網工神器 !!! 用來顯示或操縱Linux主機的路由、網絡設備、策略路由和隧道,是Linux下功能強大的網絡配置工具。
  2. 語法格式:ip【參數】
  3. 常用參數:

參數|含義
-s|輸出更詳細的信息
-f |強制使用指定的協議族
-4 |指定使用的網絡層協議是IPv4協議
-6 |指定使用的網絡層協議是IPv6協議
-r |顯示主機時,不使用IP地址,而使用主機的域名

  1. 應用實例:
  • 顯示分配給所有網絡接口的地址
    ip addr
    在這裏插入圖片描述
  • 顯示網絡設備運行狀態
ip link list

在這裏插入圖片描述

  • 顯示內核中的當前鄰居表和核心路由表。
ip neigh
ip route

在這裏插入圖片描述

四、ifconfig命令-顯示或設置網絡設備

  1. ifconfig命令簡介
    用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啓後機器重啓後,配置就不存在。要想將上述的配置信息永遠的存的電腦裏,需要修改網卡的配置文件
    注意:網卡文件在 /etc/sysconfig/network-scripts ,我們將有一期詳解網卡編輯
    在這裏插入圖片描述
  2. 語法格式
ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
  1. 常用參數:
參數 含義
add<地址> 設置網絡設備IPv6的IP地址
del<地址> 刪除網絡設備IPv6的IP地址
down 關閉指定的網絡設備
up 啓動指定的網絡設備
IP地址 指定網絡設備的IP地址
  1. 應用實例
  • 顯示網絡設備信息:
    ifconfig
    在這裏插入圖片描述
  • 用ifconfig修改MAC地址配置IP地址:
ifconfig eth0 down
ifconfig eth0 hw ether 00:16:3e:2e:1c:84
ifconfig eth0 up
ifconfig eth0 172.17.138.121

注意:雲端服務器就不要測試改etho網卡信息(如果關閉了etho 重啓可以解決ssh連接不上的問題)不要問我爲什麼知道……

五、ss命令-顯示或動套接字

  1. **ss命令簡介:**ss命令用來顯示處於活動狀態的套接字信息。它可以顯示和netstat類似的內容。但ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。
  2. 語法格式:ss [參數]
  3. 常用參數: --太多了
參數 含義
-n 不解析服務名稱,已數字方式顯示
-a 顯示所有套接字
-l 顯示處於監聽狀態的套接字
-o 顯示計時器信息
-e 顯示詳細的套接字信息
-m 顯示套接字的內存使用情況
-p 顯示使用套接字的進程
-i 顯示內部的TCP信息
-s 顯示套接字使用概況
-4 僅顯示ipv4的套接字
-6 僅顯示ipv6的套接字
-0 顯示PACKET套接字
-t 只顯示TCP套接字
-u 只顯示UDP套接字
-d 只顯示DCCP套接字
-w 只顯示RAW套接字
-x 只顯示 Unix套接字
-D 將原始TCP套接字信息轉儲到文件
  1. 應用實例:
  • 顯示TCP套接字:
ss -t -a 

在這裏插入圖片描述
-顯示套接字使用概況:
ss -s
在這裏插入圖片描述

六、小結

無論同一種功能有多少種實現辦法,我們都要有自己最熟悉的一種,能看懂其他的實現辦法,這就是我們的目的
努力學習追趕超越

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章