Command:netstat,route,ifconfig

偵測網路
netstat [option]
option有以下
-r :列出route table,等同route指令
-n :不列出主機名稱與服務名稱,而是列出IP和port
-a :列出所有連線狀態,包括tcp,udp,unix socket,…等
-t :只列出TCP的連線
-u :只列出UDP的連線
-l :只列出Listen的服務狀態
-p :列出PID/Program name
-c :設定每幾秒更新

使用netstat -atunlp畫面大致如下
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2555/mysqld
tcp 0 0 :::80 :::* LISTEN 2591/httpd
tcp 0 0 ::ffff:118.161.246.50:9180 ::ffff:122.100.80.204:2424 ESTABLISHED 4985/1
udp 0 0 0.0.0.0:68 0.0.0.0:* 2126/dhclient
各欄位說明如下
Proto:主要為tcp或udp
Recv-Q:總bytes數
Send-Q:遠端傳來,但無ACK的總bytes數
STAT:狀態有以下
 LISTEN:監聽該port
 ESTABLISHED:己建立連線
 TIME_WAIT:該連線已掛斷,但socket還在網路上等待結束
 FIN_WAIT2:該連線已掛斷,但正在等待對方主機回應斷線確認的封包
 FIN_WAIT1:該socket已中斷,該連線正在斷線當中
 SYN_RECV:收到一個要求連線的syn封包
 SYN_SENT:發出主動連線的SYN封包

………………………

路由修改
route [option]
option有以下
-n :不列出通訊協定或主機名稱,而是列出IP和port
-ee :使用更詳細的資訊來顯示

使用route -ee畫面大致如下
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
122-124-128-254 * 255.255.255.255 UH 0 0 0 ppp0 //ppp0介面連到主機122.124.128.254
192.168.100.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 //169.254.0.0/16網路連結eth0介面
default * 0.0.0.0 U 0 0 0 ppp0 //若不知目地為何,送到ppp0介面
ps:路由表的排列是由小網域排到大網域
各欄位說明如下
Destination和genmask:所連接的網路
gateway:通過那個網路到destination,可能會有以下的值
 0.0.0.0或*:表示該網路直接與本機相連,由本機傳送
 ip:表示destination需要經過此ip才可到達
flags:旗標,代表不同狀態:
 U(route is up) 該路中啟動中
 H(target is host) 目標是一部主機
 G(use gateway)需要透過外部gateway傳遞封包
 R(reinstate route for dynamic routing) 使用動態路中時恢復路由資訊的flag
 D(dynamically installed by daemon or redirect)
 M(modified from routing daemon or redirect) 路由己被修改
 ! (reject route) 此路由將不被接受
iface網路界面

設定路由
route < add|del> < -net|-host> < ip> netmask < mask> < dev < interface>|gw < ip>>
ps:不可將同網段的ip設在主機上
ex:設備eth0連接到192.168.100.0/24的網路
route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
ex:192.168.10.0/24的網路要透過192.168.0.100
route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.0.100

設定預設路由
route < add|del> default gw < ip>

ex:新增預設路由,gateway為192.168.10.1
route add default gw 192.168.10.1

………………………..

看介面資訊
ifconfig [interface]
畫面大致如下
eth0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
  inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0
  inet6 addr: fe80::20f:eaff:fe73:682/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:3439 errors:0 dropped:0 overruns:0 frame:0
  TX packets:2735 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:646935 (631.7 KiB) TX bytes:562313 (549.1 KiB)
  Interrupt:209 Memory:fb000000-0
eth0:0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
  inet addr:192.168.200.2 Bcast:192.168.200.255 Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  Interrupt:209 Memory:fb000000-0
說明如下
eth0:網卡代號
eth0:0:eth0編號0的子界面
HWaddr:網卡硬體位址
inet addr:IP位址,Bcaset是Broadcast,Mask是netmask
RX:網路由啟動到目前為止的封包接收情況
TX:網路由啟動到目前為止的傳送情況
packets表封包數,errors表封包發生錯誤的數量,dropped表封包有問題而遭丟棄的數量
collisions:封包碰撞的情況,此值若高表示網路狀況不太好
txqueuelen:傳輸資料的緩衝區儲存長度
bytes:位元組總量
Interrupt:IRQ
Memory:記憶體位址

啟動或關閉介面
ifconfig < interface> < up|down>
ps:啟動介面時是以ifcfg-*檔案為參數
ex:關掉eth0介面
ifconfig eth0 down

暫時修改網路介面
ifconfg < interface> [ip] [netmask < netmask>] [mtu < value>]
ex:暫時修改eth0的ip為192.168.100.100
ifconfig eth0 192.168.100.100
ex:設定eth0的ip為192.168.100.100,mask為/25,mtu為2000
ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 2000
ex:設定eth0的mtu為3000
ifconfig eth0 mtu 3000

介面模擬出子界面
ifconfig < interface>:< id> < IP> netmask < netmask> [up|down]
常用做測試
ex:用eth0介面產生一個192.168.0.100/24的子介面
ifconfig eth0:0 192.168.0.100 netmask 255.255.255.0 up
ps:若eth0關掉,所有由eth0介面虛擬的介面也會一併關掉

啟動混雜模式
ifconfig < device> promisc
可監聽網路上所有訊息
啟動時系統log會出現以下記錄
kernel: eth0: Promiscuous mode enabled.
kernel: device eth0 entered promiscuous mode
kernel: device eth0 left promiscuous mode

設定mtu以使用jumbo frame
注意:另一端介面也需支援效率較佳,否則frame會一直花資源做切割 
ifconfig < device> mtu < value>
ex:
#ifconfig eth0 mtu 9000
#ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
  inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0
  inet6 addr: fe80::20f:eaff:fe73:682/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1