久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

Linux系統中netstat命令的基本使用方法

來源:技術員聯盟┆發布時間:2018-02-06 06:14┆點擊:

  在計算中,netstat(網絡統計數據)是一個命令行工具,它顯示傳輸控制協議的網絡連接(傳入和傳出),路由表,和一個數字網絡接口 (網絡接口控制器或者軟件定義的網絡接口)和網絡協議的統計數據。它可在類Unix操作系統,包括OS X,Linux,Solaris和BSD,并提供對基于Windows NT的操作系統,包括Windows XP,Windows Vista中,Windows 7和Windows8。

  本文主要介紹netstat在Linux的使用

  netstat man的幫助手冊會有提示信息:

  NOTE

  This program is obsolete. Replacement for netstat is ss. Replacement for netstat -r is ip route.

  Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.

  在Linux系統作,netstat命令已廢棄不建議使用,已經被ss命令替代,netstat已經是明日黃花了,官方已經不再更新了。它已經被ss命令和ip命令所取代,或許在不久的將來在Linux發行版中就將見不到netstat的身影了。所以,如果還有人在用netstat,你要建議他使用ss和ip。

  netstat命令是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息,

  語  法:netstat [-acCeFghilMnNoprstuvVwx][-A網絡類型>][--ip]

  補充說明:利用netstat指令可讓你得知整個Linux系統的網絡情況。

  參  數:

  -a或--all 顯示所有連線中的Socket。

  -A網絡類型>或--網絡類型> 列出該網絡類型連線中的相關地址。

  -c或--continuous 持續列出網絡狀態。

  -C或--cache 顯示路由器配置的快取信息。

  -e或--extend 顯示網絡其他相關信息。

  -F或--fib 顯示FIB。

  -g或--groups 顯示多重廣播功能群組組員名單。

  -h或--help 在線幫助。

  -i或--interfaces 顯示網絡界面信息表單。

  -l或--listening 顯示監控中的服務器的Socket。

  -M或--masquerade 顯示偽裝的網絡連線。

  -n或--numeric 直接使用IP地址,而不通過域名服務器。

  -N或--netlink或--symbolic 顯示網絡硬件外圍設備的符號連接名稱。

  -o或--timers 顯示計時器。

  -p或--programs 顯示正在使用Socket的程序識別碼和程序名稱。

  -r或--route 顯示Routing Table。

  -s或--statistice 顯示網絡工作信息統計表。

  -t或--tcp 顯示TCP傳輸協議的連線狀況。

  -u或--udp 顯示UDP傳輸協議的連線狀況。

  -v或--verbose 顯示指令執行過程。

  -V或--version 顯示版本信息。

  -w或--raw 顯示RAW傳輸協議的連線狀況。

  -x或--unix 此參數的效果和指定"-A unix"參數相同。

  --ip或--inet 此參數的效果和指定"-A inet"參數相同。

  1)

  代碼如下:

  netstat -tl    -nltp

  查看當前tcp監聽端口

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 0 0 *:rrac *:* LISTEN

  tcp 0 0 *:34006 *:* LISTEN

  ......

  2)

  代碼如下:

  netstat -tlp

  查看當前tcp監聽端口, 需要顯示監聽的程序名,當不清楚mysql的監聽端口時比較好用

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

  tcp 0 0 *:rrac *:* LISTEN -

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  ......

  3)

  代碼如下:

  netstat -tl | grep 34006

  只查看mysql的監聽端口,當前啟動的mysql端口為34006,明確知道mysql監聽端口時使用

  4)

  代碼如下:

  netstat -ta | grep 34006

  tcp 0 0 *:34006 *:* LISTEN

  tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED

  tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED

  ...

  tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41490 10.3.2.35:34006 ESTABLISHED

  由于數據庫和運用程序都放在同一臺機器了,因此這里連接被顯示了兩次. 可以使用-p參數來顯示PID,然后grep PID.

  5)

  代碼如下:

  netstat -tap | grep 34006 | grep 23425

  23425是當前mysql的PID

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41510 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41511 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41516 ESTABLISHED 23425/mysqld 從 整體上看,netstat的輸出結果可以分為兩個部分,一個是Active Internet connections,稱為有源TCP連接,另一個是Active UNIX domain sockets,稱為有源Unix域套接口。在上面的輸出結果中,第一部分有5個輸出結果,顯示有源TCP連接的情況,而第二部分的輸出結果顯示的是 Unix域套接口的連接情況。Proto顯示連接使用的協議;RefCnt表示連接到本套接口上的進程號;Types顯示套接口的類型;State顯示套 接口當前的狀態;Path表示連接到套接口的其它進程使用的路徑名。

  事實上,netstat是若干個工具的匯總。

  顯示路由表

  在隨- r標記一起調用n e t s t a t時,將顯示內核路由表,就像我們利用r o u t e命令一樣。產生的輸出如下:

  代碼如下:

  [root@machine1 /]$ netstat -nr

  Kernel IP routing table

  Destination Gateway Genmask Flags MSS Window irtt Iface

  210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

  127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

  0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0