面試官問我Linux下常見網絡命令

✨一塊兒學習、成長、溫情的熱愛生活✨   



前言
web

今天來說一講Linux命令相關內容,在全球超級計算機TOP500強操做系統排行榜中,Linux的佔比最近十幾年長期保持在85%以上,且一直呈現快速上升趨勢。根據2016年的排行榜, Linux的佔比已經高達98.80%。其實在各類大、中小型企業的服務器應用領域,Linux系統的市場份額也愈來愈接近這個比例,這足以說明Linux的表現是多麼出色。 因此面試的時候卻常常會被問到,咱們根據面經來進行補短板,查漏補缺。下面開始今天的乾貨內容吧,走起, 記得點贊,點擊在看哦。





1.ping命令  

ping命令用來測試主機之間網絡的連通性。執行ping指令會使用ICMP傳輸協議,發出要求迴應的信息,若遠端主機的網絡功能沒有問題,就會迴應該信息,於是得知該主機運做正常。
用法
(1)命令格式

ping ( 選項)目的地址面試


目的地址指的是被測計算機的IP 地址、主機名或者是域名。ping 命令包含12 個參數,全部參數均可以經過執行ping來查看

(2)實例

ping www.baidu.com緩存



注: Linux下的ping命令和Windows下的ping命令不一樣 ,須要Ctrl+C來終止
(3)選項

-d:使用Socket的SO_DEBUG功能;

-c<完成次數>:設置完成要求迴應的次數;

-f:極限檢測;

-i<間隔秒數>:指定收發信息的間隔時間;

-L<網絡界面>:使用指定的網絡界面送出數據包;

-l<前置載入>:設置在送出要求信息以前,先行發出的數據包;

-n:只輸出數值;

-p<範本樣式>:設置填滿數據包的範本樣式;

-q:不顯示指令執行過程,開頭和結尾的相關信息除外;

-r:忽略普通的Routing Table,直接將數據包送到遠端主機上;

-R:記錄路由過程;

-s<數據包大小>:設置數據包的大小;

-v:詳細顯示指令的執行過程。

-t<存活數值>:設置存活數值TTL的大小

說一下其中的 -c、 -i 參數
其中 –c count 次數,也就是ping的次數;-i interval 間隔 ,每次ping之間的時間空格

ping www.baidu.com -c 6 -i 0.6安全


二、telnet 

telnet命令用於登陸遠程主機,對遠程主機進行管理。telnet由於採用明文傳送報文,安全性很差,不少 Linux服務器都不開放telnet服務,而改用更安全的ssh方式了


三、netstat  

netstat命令用來打印Linux中網絡系統的狀態信息,可以讓你得知整個Linux系統的網絡狀況。
用法:
(1)命令格式:

netstat(選項)服務器


(2)選項
-a或–all:顯示全部連線中的Socket;

-A<網絡類型>或–<網絡類型>:列出該網絡類型連線中的相關地址;

-c或–continuous:持續列出網絡狀態;

-C或–cache:顯示路由器配置的快取信息;

-e或–extend:顯示網絡其餘相關信息;

-F或–fib:顯示FIB;

-g或–groups:顯示多重廣播功能羣組組員名單;

-h或–help:在線幫助;

-i或–interfaces:顯示網絡界面信息表單;

-l或–listening:顯示監控中的服務器的Socket;

-M或–masquerade:顯示假裝的網絡連線;

-n或–numeric:直接使用ip地址,而不經過域名服務器;

-N或–netlink或–symbolic:顯示網絡硬件外圍設備的符號鏈接名稱;

-o或–timers:顯示計時器;

-p或–programs:顯示正在使用Socket的程序識別碼和程序名稱;

-r或–route:顯示Routing Table;

-s或–statistice:顯示網絡工做信息統計表;

-t或–tcp:顯示TCP傳輸協議的連線情況;

-u或–udp:顯示UDP傳輸協議的連線情況;

-v或–verbose:顯示指令執行過程;

-V或–version:顯示版本信息;

-w或–raw:顯示RAW傳輸協議的連線情況;

-x或–unix:此參數的效果和指定」-A unix」參數相同;

–ip或–inet:此參數的效果和指定」-A inet」參數相同

(3)實例

netstat -a     //列出全部端口
netstat -at //列出全部tcp端口
netstat -au //列出全部udp端口微信


在這裏顯示全部的TCP端口
   

netstat -l //只顯示監聽端口
netstat -lt //只列出全部監聽 tcp 端口
netstat -lu //只列出全部監聽 udp 端口網絡


和上面的圖相比,能夠看到只顯示出了監聽狀態的TCP端口

四、ifconfig 

ifconfig命令被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啓後機器重啓後,配置就不存在。要想將上述的配置信息永遠的存的電腦裏,那就要修改網卡的配置文件了。
用法:
(1)命令格式
   

ifconfig(參數)app


(2)實例
  • inet 用來表示網卡的IP地址,此網卡的IP地址是:192.168.1.106ssh

  • 廣播地址Bcast:192.168.1.255tcp

  • 掩碼地址Mask:255.255.255.0

lo是表示主機的迴環地址 ,這個通常是用來測試一個網絡程序,但又不想讓局域網或外網的用戶可以查看,只能在此臺主機上運行和查看所用的網絡接口。
(3)參數
add<地址>:設置網絡設備IPv6的ip地址

del<地址>:刪除網絡設備IPv6的IP地址

down:關閉指定的網絡設備

io_addr< I/O地址>:設置網絡設備的I/O地址

irq< IRQ地址>:設置網絡設備的IRQ;

media<網絡媒介類型>:設置網絡設備的媒介類型;

mem_start<內存地址>:設置網絡設備在主內存所佔用的起始地址;

metric<數目>:指定在計算數據包的轉送次數時,所要加上的數目;

mtu<字節>:設置網絡設備的MTU;

netmask<子網掩碼>:設置網絡設備的子網掩碼;

tunnel<地址>:創建IPv4與IPv6之間的隧道通訊地址;

up:啓動指定的網絡設備;

-broadcast<地址>:將要送往指定地址的數據包當成廣播數據包來處理;

-pointopoint<地址>:與指定地址的網絡設備創建直接連線,此模式具備保密功能;

-promisc:關閉或啓動指定網絡設備的promiscuous模式;

IP地址:指定網絡設備的IP地址;

網絡設備:指定網絡設備的名稱。

五、route  

route命令用來 顯示並設置Linux內核中的網絡路由表 ,route命令設置的路由主要是靜態路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啓或者機器重啓以後,該路由就失效了;能夠在 */etc/rc.local 中添加route命令來保證該路由設置永久有效。
用法:
(1)命令格式

route(選項)(參數)



(2)選項

-A:設置地址類型;

-C:打印將Linux核心的路由緩存;

-v:詳細信息模式;

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

-e:netstat格式顯示路由表;

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

-host:到一個主機的路由表。

(3)參數
Add:增長指定的路由記錄

Del:刪除指定的路由記錄

Target:目的網絡或目的主機

gw:設置默認網關

mss:設置TCP的最大區塊長度(MSS),單位爲MB

window:指定經過路由表的TCP鏈接的TCP窗口大小

dev:路由記錄所表示的網絡接口

(4)實例
顯示當前路由,從圖中能夠看出加了選項-n的變化
刪除和添加設置默認網關(這裏就不演示了)


六、arp  

arp命令用於操做主機arp緩衝區,能夠顯示arp緩衝區的全部條目、刪除指定條目或增長靜態IP地址與MAC地址的對應關係
用法:
(1)命令格式
   

arp(選項)(參數)


(2)選項
-a<主機>:顯示arp緩衝區的全部條目

-H<地址類型>:指定arp指令使用的地址類型

-d<主機>:從arp緩衝區中刪除指定主機的arp條目

-D:使用指定接口的硬件地址

-e:以Linux的顯示風格顯示arp緩衝區中的條目

-i<接口>:指定要操做arp緩衝區的網絡接口

-s<主機><硬件地址>:設置指定主機的IP地址與MAC地址的靜態映射

-n:以數字方式顯示arp緩衝區中的條目

-v:顯示詳細的arp緩衝區條目,包括緩衝區條目的統計信息

-f<文件>:設置主機的IP地址與MAC地址的靜態映射

(3)參數

主機:查詢arp緩衝區中指定主機的arp條目。


(4)實例
   

arp -a
arp -v


七、traceroute 

traceroute命令用於追蹤數據包在網絡上傳輸時的所有路徑 ,它默認發送的數據包大小是40字節經過traceroute咱們能夠知道 信息從你的計算機到互聯網另外一端的主機是走的什麼路徑 。固然每次數據包由某一一樣的出發點(source)到達某一一樣的目的地(destination)走的路徑可能會不同,但基本上來講大部分時候所走的路由是相同的。traceroute經過發送小的數據包到目的設備直到其返回,來測量其須要多長時間。一條路徑上的每一個設備traceroute要測3次。輸出結果中包括每次測試的時間(ms)和設備的名稱(若有的話)及其ip地址
用法:
(1)命令格式
   

traceroute(選項)(參數)


(2)選項
-d:使用Socket層級的排錯功能

-f<存活時間>:設置第一個檢測數據包的存活數值TTL的大小

-F:設置勿離斷位

-g<網關>:設置來源路由網關,最多可設置8個

-i<網絡界面>:使用指定的網絡界面送出數據包

-l:使用ICMP迴應取代UDP資料信息

-m<存活數值>:設置檢測數據包的最大存活數值TTL的大小

-n:直接使用IP地址而非主機名

-p<通訊端口>:設置UDP傳輸協議的通訊端口

-r:忽略普通的Routing Table,直接將數據包送到遠端主機上

-s<來源地址>:設置本地主機送出數據包的TOS數值

-v:詳細顯示指令的執行過程

-w<超時秒數>:設置等待遠端主機回報的時間

-x:開啓或關閉數據包的正確性檢驗

(3)參數

主機:指定目的主機IP地址或主機名


(4)實例
   

traceroute www.baidu.com


從圖中能夠看出記錄按序列號從1開始, 每一個紀錄就是一跳 ,每跳錶示一個網關, 咱們看到每行有三個時間,單位是ms,其實就是-q的默認參數。探測數據包向每一個網關發送三個數據包後,網關響應後返回的時間;在後面一部分咱們會看到有一些行是以星號表示的。出現這樣的狀況,多是防火牆封掉了ICMP的返回信息,因此咱們得不到什麼相關的數據包返回數據。


八、host 

host命令是經常使用的分析域名查詢工具,能夠檢測域名系統工做是否正常
用法:
(1)命令格式
   

host(選項)(參數)


(2)選項
-a:顯示詳細的DNS信息

-c<類型>:指定查詢類型,默認值爲「IN」

-C:查詢指定主機的完整SOA記錄

-r:在查詢域名時,不使用遞歸的查詢方式

-t<類型>:指定查詢第域名信息類型

-v:顯示指令執行的詳細信息

-a:顯示詳細的DNS信息;

-w:若是域名服務器沒有給出應答信息,則一直等待,直到域名服務器給出應答

-W<時間>:指定域名查詢的最長時間,若是在指定時間內域名服務器沒有給出應答信息,則退出指令

-4:使用IPv4

-6:使用IPv6

(3)參數

主機:要查詢的主機信息


九、tcpdump

tcpdump命令是一款抓取數據包的工具,它能夠打印全部通過網絡接口的數據包的頭信息,也可使用-w選項將數據包保存到文件中,方便之後分析。
用法:
(1)命令格式

tcpdump(選項)


(2)選項


-a:嘗試將網絡和廣播地址轉換成名稱;

-c<數據包數目>:收到指定的數據包數目後,就中止進行傾倒操做;

-d:把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出;

-dd:把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出;

-ddd:把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標準輸出;

-e:在每列傾倒資料上顯示鏈接層級的文件頭;

-f:用數字顯示網際網絡地址;

-F<表達文件>:指定內含表達方式的文件;

-i<網絡界面>:使用指定的網絡截面送出數據包;

-l:使用標準輸出列的緩衝區;

-n:不把主機的網絡地址轉換成名字;

-N:不列出域名;

-O:不將數據包編碼最佳化;

-p:不讓網絡界面進入混雜模式;

-q :快速輸出,僅列出少數的傳輸協議信息;

-r<數據包文件>:從指定的文件讀取數據包數據;

-s<數據包大小>:設置每一個數據包的大小;

-S:用絕對而非相對數值列出TCP關聯數;

-t:在每列傾倒資料上不顯示時間戳記;

-tt:在每列傾倒資料上顯示未經格式化的時間戳記;

-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型;

-v:詳細顯示指令執行過程;

-vv:更詳細顯示指令執行過程;

-x:用十六進制字碼列出數據包資料;

-w<數據包文件>:把數據包數據寫入指定的文件。



結束!

// END


但願這篇文章能夠幫到你~
歡迎你們點個在看,分享至朋友圈


你我都成爲光發熱之人, 在看在看在看 ~(瘋狂暗示!)

本文分享自微信公衆號 - 釋然IT雜談(gh_ad4551519762)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索