學習筆記:Linux系統網絡命令常用匯總

在Linux系統,DNS 主機 IP 的設定在 /etc/resolv.conf 文件裏
確認Linux 核心是否捕捉到網絡卡:指令 demesg | grep -in eth
或者透過 lspci 來查詢相關的設備芯片數據: lspci | grep -i ethernet
使用 lsmod 查看硬件是否載入核心(即檢查有沒有驅動): lsmod | grep 1000
使用 modinfo 查看硬件的相關信息: modinfo e1000
移除舊模塊: rmmod 模塊名稱,例如: rmmod e1000 移除網卡
加載模塊: modprobe 模塊名稱
給網卡設定IP:指令 ifconfig 網卡名稱 IP地址 ,例如:ifconfig eth0 192.168.1.100

存放DNS 的 IP 文件(適用於公網):/etc/resolv.conf
存放私有IP對應的主機名、別名文件: /etc/hosts
協議與端口對應的文件: /etc/services
定義IP封包協議的相關數據對應的文件: /etc/protocols

指令:/etc/init.d/network restart 可以重新啓動整個網絡參數,會主動的讀取所有的網絡配置文件,可以很快的恢復系統默認的參數值
指令:ifup eth0 (ifdown eth0) 啓動或關閉某個網絡接口,後接網卡名稱
上述兩個指令會主動的到 /etc/sysconfig/network-scripts 目錄下,讀取適當的配置文件來處理
觀察某網站的 DNS參數:指令: dig 網站,例如 dig www.google.com
指令:ping $(hostname)或ping hostname ;ping 本機,可查看本機IP和主機名
使用 lsusb 指令來檢查系統是否有檢測到 USB設備
iwconfig 指令,用在無線網絡設定時的指令,與 ifconfig 類似
啓用無線網卡:ifconfig 無線網卡名 up
使用 iwlist 指令搜尋無線AP: iwlist 無線網卡名 scan
無線網配置文件: /etc/Wireless/無線網絡名/無線網絡名.dat
通過指令: man iwconfig 查詢無線網參數
啓動與觀察無線網卡:啓動:ifup 網卡名 觀察:iwconfig 及 ifconfig
如果是撥號網絡,不要在網卡配置文件中指定 gateway 或 gatewaydev 等變量
ifconfig 網卡名 IP地址:該指令直接指定接口IP

內部網絡的私有IP 與主機名的對應,寫入 /etc/hosts ,可以克服很多軟件的 IP 反查所花費的等待時間

Linux 常用網絡指令:
ifconfig {interface} {up|down} 觀察與啓動接口
ifconfig interface {options} 設定與修改接口
選項與參數:
interface:網絡卡接口代號,包括 eth0,eth1,ppp0,waln0 等
options:可以接的參數,包括如下:
IP : IP地址(只輸入IP,則會自動計算出子網等其他參數)
up,down :啓動或關閉該網絡接口(不涉及任何參數)
mtu : 可以設定不同的 MTU 數值,默認是 1500,單位爲 byte
netmask :子屏蔽網絡
broadcast:廣播地址
指令: ifconfig 網卡名:0 其他IP ,表示在一張網卡上設置多個IP 的意思
利用 /etc/init.d/network restart 來還原網絡設定
使用 ifconfig 修改完網絡參數後,要以 ifconfig 網卡名 down 才能夠關閉網卡接口

route :路由修改
route [-nee]
增加 route add [-net|-host] [網段或主機] netmask [mask] [gw|dev]
刪除 route del [-net|-host] [網段或主機] netmask [mask] [gw|dev]
觀察的參數:
-n :不要使用通訊協議或主機名,直接使用IP 或 port number
-ee : 使用更詳細的信息來顯示
增加(add)與刪除(del)路由的相關參數
-net : 表示後面接的路由爲一個網段
-host :表示後面接的爲連接到單個主機的路由
netmask:與網段有關,可以設定 netmask 決定網段的大小
gw : gateway 的簡寫,後續接的是IP的數值,與 dev 不同
dev :如果只要是指定由那一塊網絡接口聯機出去,則使用這個設定,後面接 eth0 等
路由的增加與刪除:
例如:刪除169.254.0.0/16這個網段 route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
增加 192.168.100.0 這個網段 route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
增加的路由必須要與自己的網絡互通
增加預設路由的指令: route add default gw 192.168.1.254 也必須要與自己的網絡互通

IP指令:整合了 ifconfig 與 route 這兩個指令,功能更多
ip [option] [動作] [指令]
選項與參數:
option:設定的參數,主要有:
-s :顯示出該裝置的統計數據(statistics),例如:總的接受封包數
動作:可以針對哪些網絡參數進行動作,包括:
link :關於裝置(device)的相關設定,包括 MTU,MAC 地址等等
addr/address :關於額外的IP協議,例如多IP的達成等等
route :與路由有關的相關設定
ip link 是與 OSI 七層協議 的第二層數據鏈路層有關的參數
ip link 可以設定與裝置有關的相關參數,包括 MTU以及該網絡接口的 MAC 等等
ip [-s] link show 查閱該裝置相關的信息,後接裝置名,eth0 等,不接裝置則顯示全部
ip link set [device] [動作與參數]
選項與參數:
show:僅顯示出這個裝置的相關內容,如果加上 -s 會顯示更多統計數據
set : 可以開始設定項目,device 指的是 eth0,eth1 等等界面代號;
動作與參數:包括這些動作:
up|down :啓動或關閉某個接口,其他參數使用默認的以太網絡
address : 如果這個裝置可以更改 MAC 的話,用這個參數修改MAC地址
name : 給予這個裝置一個特殊的名字,少用
mtu : 就是最大傳輸單元,後接數字

ip address (ip addr) 是與 OSI 七層協議的第三層網絡層有關的參數
ip address show 查閱IP 參數
ip address [add|del] [IP參數] [dev 裝置名] [相關參數]
選項與參數:
show :顯示出接口的 IP 信息
add|del :進行相關參數的增加或刪除的設定,主要有:IP參數,就是網段的設定,例如:192.168.100.100/24之類的設定
dev :這個IP參數所要設定的接口,例如:eth0
相關參數主要有:
broadcast :設定廣播地址,設定值是 + 表示[讓系統自己計算]
label :是這個裝置的別名,例如:eth0:0
scope : 這個界面的領域,通常是這幾個大類:
global :允許來自所有來源的聯機
site : 僅支持 IPv6 ,僅允許本主機的聯機
link :僅允許本裝置自我連接
host :僅允許本主機內部的聯機
預設是 global

關於路由的相關設定: ip route
ip route show 顯示出路由的設定
ip route [add|del] [IP或網段] [via gateway] [dev 裝置]
選項與參數:
show : 單純的顯示出路由表,也可以使用 list
add|del : 增加或刪除路由的意思
IP 或網段:可使用 192.168.50.0/24 之類的網段或者是單純的IP
via : 從那個 gateway 出去,不一定需要
dev :由那個裝置連出去,這就需要了
mtu :可以額外的設定 MTU 的數值

手動使用 DHCP 自動取得 IP 參數:dhclient 指令
dhclient 網卡名 :讓網卡使用DHCP協議去嘗試取得IP

ping 指令的使用:
ping [選項與參數] IP
選項與參數:
-c 數值:後面接的是執行 ping 的次數,例如:-c 5
-n :在輸出數據時不進行 IP 與主機名的反查,直接使用 IP 輸出(速度較快)
-s 數值:發送出去的 ICMP 封包大小,預設爲56 bytes ,可以增大該數值
-t 數值:TTL 的數值,預設是 255,每經過一個路由節點就減1
-W 數值:等待響應對方主機的秒數
-M [do|dont] :主要在偵測網絡的MTU數值大小,兩個常見的項目是:
do:代表傳送一個 DF(Don't Fragment)旗標,讓封包不能重新拆包與打包
dont:代表不要傳送 DF 旗標,表示封包可以在其他主機上拆包與打包
ping指令中,如果主機與待偵測主機並不在同一個網段內,那麼TTL預設使用255,如果是在同一個網段內,那麼TTL預設使用64

查詢出最大的MTU數值:ping -c 2 -s 8000 -M do 192.168.1.254
常見的各種接口的MTU值: Ethernet 1500; PPPoE 1492;Dial-up(Modem) 576;

兩主機間各節點分析:traceroute (需要安裝該軟件)
traceroute [選項與參數] IP
選項與參數:
-n :可以不必進行主機的名稱解析,單純用IP,速度較快
-U:使用UDP的port 33434來進行偵測,是預設的偵測協議
-I:使用ICMP 的方式來進行偵測
-T:使用TCP來進行偵測,一般使用port 80測試
-w:若對方主機在幾秒鐘內沒有回聲就宣告不治,預設是5秒
-p端口號:若不想使用UDP與TCP 的預設端口號來偵測,可在這改變端口號
-i裝置:用在比較複雜的環境,如果網絡接口很多很複雜時,纔會用到這個參數
-g路由:與-i的參數相似,只是-g後面接的是gateway 的IP
由於UDP/ICMP的×××層出不窮,很多路由器可能取消了-I,-U這兩種封包響應功能

查看本機的網絡聯機與後門(端口監聽狀態檢測):netstat
netstat -[rn] 查詢與路由有關的參數,與route -n 參數顯示結果很相似
netstat -[antulpc] 與網絡接口有關的參數
選項與參數:
與路由(route)有關的參數說明:
-r :列出路由表(route table),功能如同route 這個指令
-n:不使用主機名與服務名稱,使用IP與port number,如果route -n與網絡接口有關的參數:
-a:列出所有的聯機狀態,包括 tcp/udp/unix socket等
-t:僅列出TCP封包的連接
-u:僅列出UDP封包的聯機
-I:僅列出有在Listen(監聽)的服務的網路狀態
-p:列出PID與Program 的檔名
-c:可以設定幾秒鐘後自動更新一次,例如 -c 5 每5秒更新一次網絡狀態的顯示
netstat 的輸出主要分爲兩大部分,分別是TCP/IP的網絡接口部分,以及傳統的Unix socket部分,建議加上[-n]參數,可以避免主機名與服務名稱的反查,直接以IP及端口號碼(port number)來顯示,顯示的速度上會快很多
常用:netstat -tulnp 顯示出目前已經啓動的網絡服務
netstat -atunp 觀察本機上所有的網絡聯機狀態

偵測主機名與IP對應:host , nslookup
查詢主機名對應的IP:
host [-a] hostname [server]
選項與參數:
-a:列出該主機詳細的各項主機名設定數據
[server]:可以使用非爲 /etc/resolv.conf 的DNS服務器IP來查詢

nslookup指令:
nslookup [-query=[type]] [hostname|IP]
選項與參數:
-query=type:查詢的類型,除了傳統的IP與主機名對應外,DNS還有很多信息,包括mx,cname等等,例如 -query=mx 的查詢方法
建議使用dig指令來取代nslookup指令

遠程連接指令與實時通訊軟件(僅針對客戶端):
telnet指令(連接服務器或BBS):
telnet [host|IP [port]]

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