netstate 指令指南

  • 485
  • 0

netstat 是查尋用指令,可以回傳以下資訊:

1.網路連線狀態(network connection)

2.路由表(routing tables)

3.網卡狀態(interface statistics)

4.程式內NAT網路狀態(masquerade connection)

5.群播成員(multicast memberships)

以下在Ubuntu環境下簡單介紹(其實是寫給自己看的):

 

 首先問問自己你要幹嘛?

1.不知道自己要幹嘛的話不用打參數

netstat | more

會秀出所有有開放的socket(注意,不一定已經連線)

2.看路由請用請享用

netstat -r | more

 

3.看封包的群播網段

netstat -g | more

介紹你好藥:
像是IPv6回應你可能會預設看到ff02::1 (鏈接本地範圍所有節點),結果卻沒看到!
這是因為netstat幫你翻譯過了,所以如果你要原汁的資訊可以加個 -n 例如:

netstat -gn | more

就會幫你show出來沒有翻譯過的而是數字的host,port或是user。

4.看網卡的封包處理狀態,有{RX, TX} && {OK, ERR, DRP, OVR},看不懂的下面也沒另外介紹謝謝。

netstat -i | more

 

5.看群播

netstat -M | more

 

6.看所有封包的統計

netstat -s | more

可以看到{Ip, Icmp, IcmpMsg, Tcp, Udp, UdpLite, TcpExt, IpExt}
所有封包的傳輸狀態。

 

 很常用的,查詢「網路連線狀態」

netstat  [address_family_options]  [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--raw|-w] [--l2cap|-2] [--rfcomm|-f] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--symbolic|-N]  [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c]      [--wide|-W]
address_family_options:
       [-4|--inet]  [-6|--inet6] [--protocol={inet,inet6,unix,ipx,ax25,netrom,ddp,bluetooth,  ...  } ] [--unix|-x] [--inet|--ip|--tcpip] [--ax25] [--x25] [--rose] [--ash] [--bluetooth] [--ipx] [--netrom] [--ddp|--appletalk] [--econet|--ec]

netstat的table使用的說明都是有依據的,如果不熟悉可以參考這張圖:

TCP連線架構圖可以參考這裡

我這樣差不多就夠用了,如果要再多深入的可以man一下,剩下的都是過濾、排列、搜尋的附加參數。

 

Dean
Senior Software Engineer / Network Security Engineer
Feel free to contact me: t104318516@ntut.org.tw

Interest: Reverse Engineering, Binary Analysis, Network Protocol, Cyber Security, Digital communication.