2011年1月23日 星期日

網路相關指令

  • ifconfig:查詢、設定網路卡與 IP 網域等相關參數
  • ifup, ifdown:這兩個檔案是 script ,透過更簡單的方式來啟動網路介面
  • route:查詢、設定路由表 (route table)
  • ip:複合式的指令,可以直接修改上述提到的功能
  • ifconfig {interface} {up|down} : 觀察與啟動介面
  • ifconfig interface {options} : 設定與修改介面參數:
      • interface:網路卡介面代號,包括 eth0, eth1, ppp0 等等
      • options :可以接的參數,包括如下: up, down :啟動 (up) 或關閉 (down) 該網路介面(不涉及任何參數)
      • mtu :可以設定不同的 MTU 數值,例如 mtu 1500 (單位為 byte)
      • netmask :就是子遮罩網路;
      • broadcast:就是廣播位址啊!
      • eth0:就是網路卡的代號,也有 lo 這個 loopback ;
      • HWaddr:就是網路卡的硬體位址,俗稱的 MAC 是也;
      • inet addr:IPv4 的 IP 位址,後續的 Bcase, Mask 分別代表的是 Broadcast 與 netmask 喔!
      • inet6 addr:是 IPv6 的版本的 IP ,我們沒有使用,所以略過;
      • MTU:就是 MTU 啊!
      • RX:那一行代表的是網路由啟動到目前為止的封包接收情況, packets 代表封包數、errors 代表封包發生錯誤的數量、 dropped 代表封包由於有問題而遭丟棄的數量等等
      • TX:與 RX 相反,為網路由啟動到目前為止的傳送情況;
      • collisions:代表封包碰撞的情況,如果發生太多次, 表示您的網路狀況不太好;
      • txqueuelen:代表用來傳輸資料的緩衝區的儲存長度;
      • RX bytes, TX bytes:總傳送、接收的位元組總量
      • Interrupt, Memory:網路卡硬體的資料, IRQ 岔斷與記憶體位址;
  • ip [option] [動作] [指令], 參數:
      • option :設定的參數,主要有:
        •  -s :顯示出該裝置的統計數據(statistics),例如總接受封包數等;
      • 動作:亦即是可以針對哪些網路參數進行動作,包括有:
      • link :關於裝置 (device) 的相關設定,包括 MTU, MAC 位址等等
      • addr/address :關於額外的 IP 協定,例如多 IP 的達成等等;
    • route :與路由有關的相關設定
  • netstat -[rn] : 與路由有關的參數參數:
      • -r :列出路由表(route table),功能如同 route 這個指令;
      • -n :不使用主機名稱與服務名稱,使用 IP 與 port number ,如同 route -n
  • netstat -[antulpc] : 與網路介面有關的參數, 參數:
      • -a :列出所有的連線狀態,包括 tcp/udp/unix socket 等;
      • -t :僅列出 TCP 封包的連線;
      • -u :僅列出 UDP 封包的連線;
      • -l :僅列出有在 Listen (監聽) 的服務之網路狀態;
      • -p :列出 PID 與 Program 的檔名;
      • -c :可以設定幾秒鐘後自動更新一次,例如 -c 5 每五秒更新一次網路狀態的顯示;
  • 基本上,我們常常談到的 netstat 的功能,就是在觀察網路的連線狀態了,而網路連線狀態中,又以觀察『我目前開了多少的 port 在等待用戶端的連線』以及 『目前我的網路連線狀態中,有多少連線已建立或產生問題』最常見。   

重點回顧
    • 修改網路介面的硬體相關參數,可以使用 ifconfig 這個指令,包括 MTU 等等;
    • ifup 與 ifdown 其實只是 script ,在使用時,會主動去 /etc/sysconfig/network-scripts 下找到相對應的裝置設定檔,才能夠正確的啟動與關閉;
    • 路由的修改與查閱可以使用 route 來查詢,此外, route 亦可進行新增、刪除路由的工作;
    • ip 指令可以用來作為整個網路環境的設定,利用 ip link 可以修改『網路裝置的硬體相關功能』, 包括 MTU 與 MAC 等等,可以使用 ip address 修改 TCP/IP 方面的參數,包括 IP 以及網域參數等等, ip route 則可以修改路由!
    • ping 主要是透過 ICMP 封包來進行網路環境的檢測工作,並且可以使用 ping 來查詢整體網域可接受最大的 MTU 值;
    • 偵察每個節點的連線狀況,可以使用 traceroute 這個指令來追蹤!
    • netstat 除了可以觀察本機的啟動介面外,還可以觀察 Unix socket 的傳統插槽介面資料;
    • host 與 nslookup 預設都是透過 /etc/resolv.conf 內設定的 DNS 主機來進行主機名稱與 IP 的查詢;
    • lftp 可以用來匿名登入遠端的 FTP 主機;
    • telnet 不只用來進行 BBS 的登入,也可以用來作為某些埠口的連線測試;
    • lynx 主要的功能是『瀏覽』,包括本機上 HTML 語法的檔案, wget 則主要在用來下載 WWW 的資料;
    • 擷取封包以分析封包的流向,可使用 tcpdump ,至於圖形介面的 ethereal 則可以進行更為詳細的解析。
    • 透過 tcpdump 分析三向交握,以及分析明碼傳輸的資料,可發現網路加密的重要性。
    • nc 可用來取代 telnet 進行某些服務埠口的檢測工作,同時若自行編譯 nc 時,可額外的執行 -e 參數。

  • 網路連線設定指令
    • sudo pppoeconf
  • 開啟網路
    • sudo pon dsl-provider
  • 關閉網路
    • sudo poff dsl-provider 
  • 用下列指令去查詢連線是否正常。
    • plog
    • ifconfig ppp0


From 網路資料

沒有留言:

張貼留言