1. 程式人生 > >netstat命令監控tcp,佔用埠等等

netstat命令監控tcp,佔用埠等等

 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命令一樣。產生的輸出如下:

[
[email protected]
/]$ 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

- n 選項令netstat以點分四段式的形式輸出IP地址,而不是象徵性的主機名和網路名。如果想避免通過網路查詢地址(比如避開DNS或NIS伺服器),這一點是特別有用的。
netstat 輸出結果中,第二列展示的是路由條目所指的閘道器,如果沒有使用閘道器,就會出現一個星號(*)或者0.0.0.0;第三列展示路由的概述,在為具體的I P地址找出最恰當的路由時,核心將檢視路由表內的所有條目,在對找到的路由與目標路由比較之前,將對I P地址和genmask進行按位“與”計算;第四列顯示了不同的標記,這些標記的說明如下:

■ G 路由將採用閘道器。
■ U 準備使用的介面處於“活動”狀態。
■ H 通過該路由,只能抵達一臺主機。
■ D 如果路由表的條目是由ICMP重定向訊息生成的,就會設定這個標記。
■ M 如果路由表條目已被ICMP重定向訊息修改,就會設定這個標記。

netstat輸出結果的Iface顯示該連線所用的物理網絡卡,如eth0表示用第一張,eth1表示用第二張。

◆ 顯示介面特性

在隨- i標記一起呼叫時, netstat將顯示網路介面的當前配置特性。除此以外,如果呼叫時還帶上-a選項,它還將輸出核心中所有介面,並不只是當前配置的介面。netstat-i的輸出結果是這樣的:

[
[email protected]
/]$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU
eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU
lo 3924 0 1943 0 0 0 43 0 0 0 LRU

MTU 和Met欄位表示的是介面的MTU和度量值值;RX和TX這兩列表示的是已經準確無誤地收發了多少資料包( RX - OK / TX - OK)、產生了多少錯誤( RX-ERR/TX-ERR)、丟棄了多少包(RX-DRP/TX-DRP),由於誤差而遺失了多少包(RX-OVR/TX-OVR);最後一列展示的是 為這個介面設定的標記,在利用ifconfig顯示介面配置時,這些標記都採用一個字母。它們的說明如下:

■ B 已經設定了一個廣播地址。
■ L 該介面是一個回送裝置。
■ M 接收所有資料包(混亂模式)。
■ N 避免跟蹤。
■ O 在該介面上,禁用A R P。
■ P 這是一個點到點連結。
■ R 介面正在執行。
■ U 介面處於“活動”狀態。

◆ 顯示連結
netstat 支援用於顯示活動或被動套接字的選項集。選項- t、- u、- w和- x分別表示TCP、UDP、RAW和UNIX套接字連線。如果你另外還提供了一個- a標記,還會顯示出等待連線(也就是說處於監聽模式)的套接字。這樣就可以得到一份伺服器清單,當前所有運行於系統中的所有伺服器都會列入其中。

呼叫netstat -ta時,輸出結果如下:

[
[email protected]
/]$ netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 0 *:9001 *:* LISTEN
tcp 0 0 *:6000 *:* LISTEN
tcp 0 0 *:socks *:* LISTEN
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

上 面的輸出表明部分伺服器處於等待接入連線狀態。利用- a選項的話,netstat還會顯示出所有的套接字。注意根據埠號,可以判斷出一條連線是否是外出連線。對呼叫方主機來說,列出的埠號應該一直是一個 整數,而對眾所周知服務(well known service)埠正在使用中的被呼叫方來說,netstat採用的則是取自/etc/services檔案的象徵性服務名。

相關推薦

netstat命令監控tcp佔用等等

 netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的狀態資訊, 語  法:netstat [-acCeFghilMnNoprstuvVwx][-A網路型別>][--ip] 補充說明:利用netstat

netstat命令——網絡進程內存

www. IE erl nbsp text 統計 pre sockets udp端口 netstat網絡、進程、內存 轉自:https://www.cnblogs.com/xieshengsen/p/6618993.html https://zhidao.baidu

centOS伺服器 netstat命令 檢視TCP連線數資訊

netstat命令的功能是顯示網路連線、路由表和網路介面的資訊,可以讓使用者得知有哪些網路連線正在運作。在日常工作中,我們最常用的也就兩個引數,即netstat –an,如下所示: [[email protected] ~]# netstat -an Active Inter

接收connection佔用號?

iocp最大連線數實測能達到多少?? MSDN上說理論值在6W也就是系統埠的個數.從網上查到一些資料說最大實測值在5W以上,不知道各位牛人自己實測的值能到多少?要自己測試值,程式誰寫的沒關係. 我自己測能達到2W時,連線就已經不穩定了. 這個問題第1個回答:我測試過本機連入是50k(60k可以連

TCP/UDP 佔用問題總結

TCP/UDP 共用埠問題。 1.TCP UDP 可以共同佔用一個埠號嗎? 首先明確一點 埠是一種抽象的軟體結構(包括一些資料結構和I/O緩衝區)。 應用程式(即程序)通過系統呼叫與某埠建立連線(binding)後,傳輸層傳給該埠的資料都被相應程序所接收,相應程序發給傳輸層的資料都通過該埠輸出。在T

Linux---瞭解SELinux的工作模式更改安全上下文管理布林值監控衝突更改

[[email protected] ~]# mkdir /westos/[[email protected] ~]# touch /westos/westosfile[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf     #

監控io性能、free、ps命令netstat命令、抓包工具tcpdumptshark

20180507一、監控io性能iostat -x 關註%utiliotop 查看哪一個進程在進行讀寫 二、free命令(查看內存使用)-m -h-gbuff 緩沖(cpu處理完的數據 > 內存 (buff)> 磁盤)cache 緩存(磁盤 >內存(cache) >cpu處理數據)公

netstat命令怎麼檢視是否佔用

轉自:http://www.ahlinux.com/start/cmd/527.html netstat命令是一個監控TCP IP網路的非常有用的工具,它可以顯示路由表、實際的網路連線以及每一個網路介面裝置的狀態資訊,這裡我只用到其netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由

lsof/netstat命令的一個重要作用: 根據程序查 根據查程序

  我們知道, 根據ps -aux | grep xxx就是很快實現程序名和程序號的互查, 所以我們只說程序號pid就行。 如下示例中, 程序pid常駐。         1.  根據程序pid查埠:       &

tomcat 起來多了端口占用 需要用netstat命令佔用並windows命令強制結束程序

目標:在Windows環境下,用netstat命令檢視某個埠號是否佔用,為哪個程序所佔用. 操作:操作分為兩步:(1)檢視該埠被那個PID所佔用;方法一:有針對性的檢視埠,使用命令 Netstat –ano|findstr “<埠號>”,如圖,最後一列為PID。圖中的埠號為8

Windows環境下netstat命令查看某個端口號是否占用

gpo 配置信息 con tor 情況 路由 時間 長時間 針對 目標:在Windows環境下,用netstat命令查看某個端口號是否占用,為哪個進程所占用. 操作:操作分為兩步:(1)查看該端口被那個PID所占用;方法一:有針對性的查看端口,使用命令 Netstat

lsof/netstat命令的一個重要作用: 根據進程查端口 根據端口查進程

netstat命令 進程 at命令 gre 我們 實現 sta -a rep 我們知道, 根據ps -aux | grep xxx就是很快實現進程名和進程號的互查, 所以我們只說進程號pid就行。 如下示例中, 進程pid常駐。 1. 根據進程pid查端口:

Linux日常管理技巧(2):freepsnetstat命令和抓包工具

情況下 路由器配置 傳輸協議 method ups lis red field 保存 一、free命令 free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩沖區。用法: free [選項] 選項: -b:以Byte為單位顯示內存使用情況;-

關於在zabbix監測腳本中使用ps命令監控進程CPU使用率和內存使用率獲得數據為0的情況描述

zabbix shell linux 前提:想自己編寫zabbix監測腳本,然後通過配置模板的方式,實現對資源(cpu和內存)使用率高的進程進行監控。 過程描述:zabbix版本為2.21,被監控主機操作系統為CentOS 6.4。腳本中主要命令如下:percent=0; #通過腳本輸入參數pro

wampserver 執行橙色80沒有被佔用檢視錯誤日誌方法

wampserver執行時橙色,經檢查80埠並沒有被佔用,試了很多種方法都無效,去檢視錯誤日誌吧 1.以管理員身份開啟CMD 注意這裡必須是管理員身份的CMD ,powershell不行的   進入wamp的apache的bin目錄(比如我的是d:\wamp\bin\apache\apac

Centos7中的ifconfig、netstat命令被廢棄解決怎麼在centos7中使用centos6的命令

在使用centos7中,首先要檢視的是 ifconfig 一下,遺憾的是未找到命令;命令被更換成 ip addr 度娘說,使用以下命令安裝回centos6的命令,最後測試; yum provides ifconfig yum whatprovides ifconfig yum i

FFmpeg命令:幾種常見場景下的FFmpeg命令(攝像頭採集推流桌面錄製推流、轉流拉流等等

前提: 再者,推流你得有個流媒體服務,個人測試用小水管:rtmp://eguid.cc:1935/rtmp/test(小水管,請儘量錯開時間使用,另切記推流視訊位元速率不要太高,避免佔用太多頻寬)

python 獲取本機IP地址檢測是否被佔用

import socket def get_host_ip(): """ get host ip address 獲取本機IP地址 :return: """ s = socket.socket(socket.

(OS 10048)Only one usage of each socket addressWeb Server無法啟動提示佔用的解決辦法。

問題描述 啟動IBM Http Server或Apache Web Server時報錯。 (在Event Viewer中可以找到報錯資訊) (OS 10048)Only one usage of each socket address (protocol/net

使用 lsof 代替 Mac OS X 中的 netstat 檢視佔用的程式

在 linux 裡可以使用 netstat -tulpn | grep LISTON 來看所有listen 的 port. Mac OS 只有 -tuln 沒有 -p 的引數。 Depending on your version of Mac OS X, use one of these: lsof -n