netstat 經常使用方法

netstat簡介

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

  通常用netstat -an顯示全部鏈接的IP、端口並用數字表示。dom

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

  使用時,若是不帶參數,netstat顯示活動的TCP鏈接tcp

netstat經常使用參數

  經常使用的幾個參數有:-a -n -p -l工具

  -a 顯示全部socket,包括正在監聽的spa

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

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

  -p 顯示創建相關鏈接的程序名和PIDserver

  -t 顯示TCP協議的鏈接狀況blog

  -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  等待從本地用戶發來的鏈接中斷請求

相關文章
相關標籤/搜索