在一片漆黑的界面下,我們該如何查看和配置系統網卡、IP地址、路由等信息呢?
最傳統基本的網絡命令,幾乎所有舊的發行版都支持的配置命令:ifconfig
查看系統的所有網卡及IP配置信息:ifconfig
禁用網卡:ifconfig eth0 down,啟用網卡:ifconfig eth0 up
為網卡配置IP地址:ifconfig eth0 192.168.1.56 netmask 255.255.255.0
Ifconfig命令的替代者,最新版本的linux發行版都支持:
查看系統的所有網卡及IP配置信息:ip address
啟用網卡:ip link set dev eth0 up
設置網卡IPv4地址:ip address add 1.2.3.4/24 brd + dev eth0
顯示系統的路由信息:ip route show
設置默認路由:ip route add default via 1.2.3.254
當我們明明設置了IP地址和網關,但是就是ping不同www.dubai.com時,我們該怎么辦呢?
是不是需要查詢一下這個DNS服務器是否設置正確,查詢驗證DNS命令:dig。
當我們設置了IP,但是ping不同我們要訪問的地址或域名,我們是否還有其它辦法呢?當然有:
可以curl測試一下80端口:curl www.dubai.org,或者直接連接:nc www.dubai.org 80,或者還可以跟蹤一下路由:traceroute www.dubai.org 。
當我們知道一個域名,如何知道它的IP地址呢?
host www.isolves.com
當我們運維的時候想看一下linux服務器到底開了哪些對外服務呢?
這個時候可執行sudo ss -lntup ,顯示當前系統所有開啟的tcp和udp端口以及相關的進程。
或者也可以執行列出系統打開文件的命令 sudo lsof -nP -i| grep LISTEN
,網絡端口也可以視為文件。
當我們運維的時候,需要實時查看當前系統與外界的連接統計信息時怎么辦?
當然是輸入類似top的命令sudo iftop,如下圖所示,實時連接情況和實時速率一覽無余。
當我們需要知道到底哪個進程在與外界通信,并且實時速率是多少,怎么辦?
當然是輸入 nethogs命令了,如下圖所示,每一個實時通信的進程網絡速率一覽無余,瞬間可以知道應用的數據量、訪問量到底大不大。
當我們需要獲取系統的歷史流量信息,比如需要看一下按小時、日、月和年統計的流入流出的數據量時,該怎么辦?
當然是安裝vnstat程序了,如下圖所示,默認可以顯示按年、昨天和今天的流量統計,通過查看這個流量統計信息,可以對系統的運行情況有個大概判斷,如果流量異常,可能系統異常。
當我們需要實時捕獲流量信息,并且還需要能夠解碼數據傳輸協議時,該怎么辦?
當然是tcpdump 莫屬了,如下圖所示,顯示某個地址、某個端口的詳細實時流量數據,瞬間捕獲http包內容: