netstat 常用方法


netstat簡介

  netstat是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表,實際的網絡連接以及每一個網絡接口設備的狀態信息,netstat用於顯示與IP,TCP,UDP和ICMP協議相關的統計數據,一般用於查詢本機各端口的網絡連接情況。

  一般用netstat -an顯示所有連接的IP、端口並用數字表示。

  netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用戶得知有哪些網絡連接正在運作。

  使用時,如果不帶參數,netstat顯示活動的TCP連接

netstat常用參數

  常用的幾個參數有:-a -n -p -l

  -a 顯示所有socket,包括正在監聽的

  -l 顯示有在 Listen (監聽) 的服務狀態

  -n 以網絡IP地址代替名稱,顯示網絡連接情形

  -p 顯示建立相關連接的程序名和PID

  -t 顯示TCP協議的連接情況

  -u 顯示UDP協議的連接情況

  -s 顯示每個協議的統計

  -b 顯示在創建每個連接或監聽端口時涉及的可執行程序

  -c 每個1秒就重新顯示一遍,直到用戶中斷

 

netstat常用場景

  1. netstat -a 列出所有連接
[root@77-9-162-bx-core ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:privatewire     0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:4194            0.0.0.0:*               LISTEN
tcp        5      0 0.0.0.0:30211           0.0.0.0:*               LISTEN

 udp 0 0 0.0.0.0:10010 0.0.0.0:*
  udp 0 0 0.0.0.0:11916 0.0.0.0:*
  udp 0 0 0.0.0.0:30000 0.0.0.0:*
  Active UNIX domain sockets (servers and established)
  Proto RefCnt Flags Type State I-Node Path
  unix 2 [ ACC ] STREAM LISTENING 3925009694 /tmp/tmux-0/default
  unix 2 [ ACC ] STREAM LISTENING 4021720277 /tmp/tmux-1091/default
  unix 2 [ ACC ] STREAM LISTENING 3910671241 /tmp/tmux-1081/default

  2. netstat -at 列出所有tcp連接

root@77-9-162-bx-core ~]# netstat -at|head
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:privatewire     0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:4194            0.0.0.0:*               LISTEN
tcp        5      0 0.0.0.0:30211           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:zabbix-agent    0.0.0.0:*               LISTEN
tcp        0      0 localhost:cslistener    0.0.0.0:*               LISTEN
tcp        0      0 localhost:10248         0.0.0.0:*               LISTEN
tcp        1      0 0.0.0.0:31080           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:30089           0.0.0.0:*               LISTEN

     3. netstat -au 列出所有udp連接

[root@77-9-162-bx-core ~]# netstat -au|head
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 0.0.0.0:krb524          0.0.0.0:*
udp        0      0 0.0.0.0:upnotifyp       0.0.0.0:*
udp        0      0 0.0.0.0:n1-fwp          0.0.0.0:*
udp        0      0 0.0.0.0:n1-rmgmt        0.0.0.0:*
udp        0      0 0.0.0.0:asc-slmd        0.0.0.0:*
udp        0      0 0.0.0.0:privatewire     0.0.0.0:*
udp        0      0 0.0.0.0:55511           0.0.0.0:*
udp        0      0 0.0.0.0:55512           0.0.0.0:*

  4. netstat -nl|grep port  查詢端口號是否占用

[root@77-9-162-bx-core ~]# netstat -ln|grep 8090
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN

  5. netstat -nlp|grep port 查詢占用端口號的程序名或pid

[root@77-9-162-bx-core ~]# netstat -lnp|grep 8090
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      8904/vintage

  6. netstat -apn|grep server 查詢程序占用端口

# netstat -apn|grep server
Active Internet connections (servers and established)
tcp        0      0 0.0.0.0:8100            0.0.0.0:*               LISTEN      17557/server

 

連接狀態

LISTEN  監聽來自遠方的TCP端口的連接請求

SYN-SENT  在發送連接請求后等待匹配的連接請求

SYN-RECEIVED  在收到和發送一個連接請求后等待對方對連接請求的確認

ESTABLISHED  代表一個打開的連接

TIME-WAIT  等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認

CLOSED  沒有任何連接狀態

CLOSED-WAIT  等待從本地用戶發來的連接中斷請求

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM