❶ 如何查看埠被哪個程序使用 linux
1)使用lsof命令
lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。具體方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。
下面以1521埠來看怎麼查找到該程序,我們使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在這里使用awk來匹配第4個欄位的模式是為了避免誤判。
❷ 如何在windows中查看,埠被什麼應用程序佔用
運行CMD輸入netstat -an ,查看系統開放的埠,記下相應的PID,啟動任務管理器,點服務,通過PID查看是什麼程序佔用了相關埠
❸ windows下查看埠是哪個程序使用
C:\netstat -aon|findstr 8080
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
埠被進程號為2448的進程佔用,繼續執行下面命令:
C:\tasklist|findstr 2448
thread.exe 2016 Console 0 16,064 K
很清楚,thread佔用了你的埠,Kill it
命令:taskkill -F -PID 2448
如果第二步查不到,那就開任務管理器,進程---查看---選擇列---pid(進程位標識符)打個勾就可以了
看哪個進程是2448,然後殺之即可。
❹ windows下查看某個埠被哪個程序佔用的方法
假如我們需要確定誰佔用了我們的9050埠
1、Windows平台 在windows命令行窗口下執行:
1.查看所有的埠佔用情況
C:\>netstat -ano
協議 本地地址 外部地址 狀態 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732
2.查看指定埠的佔用情況 C:\>netstat -aon|findstr "9050"
協議 本地地址 外部地址 狀態 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
P: 看到了嗎,埠被進程號為2016的進程佔用,繼續執行下面命令: (也可以去任務管理器中查看pid對應的進程)3.查看PID對應的進程 C:\>tasklist|findstr "2016"
映像名稱 PID 會話名 會話# 內存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor佔用了你的埠。
❺ 如何查看本機打開的埠是被哪個程序使用的
文本Tag: 產品 在上網的過程中,我們的計算機難免會受到木馬的入侵,一般的木馬殺毒軟體可以查出來,但比較新型或少見的就有可能被漏掉,因為一般的木馬都會在計算機上打開某一個埠等待別人控制,所以通常的做發都是去分析埠來看是否有異常的程序,一般windows提供的netstat命令只能列出被打開的埠,所以如果要看是哪個程序佔用了埠,有時候還不得不藉助於第三方軟體,如ActivePort或Fport等,但這些軟體均需要安裝才可以使用,較為麻煩。
其實在XP與Windows2003下,netstat 已經新增了一個-b的開關,用來指定同時列出埠所對應的程序。對我們分析是否中了木馬或有異常的程序非常有用。只需要輸入
netstat -anb
就可以實現fport或ActivePort的功能了,馬上試試吧
❻ 怎麼查電腦埠由那個程序使用
1.Windows本身自帶的netstat命令
關於netstat命令,我們先來看看windows幫助文件中的介紹:
Netstat
顯示協議統計和當前的 TCP/IP 網路連接。該命令只有在安裝了 TCP/IP 協議後才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
參數
-a -顯示所有連接和偵聽埠。伺服器連接通常不顯示。
-e -顯示乙太網統計。該參數可以與 -s 選項結合使用。
-n -以數字格式顯示地址和埠號(而不是嘗試查找名稱)。
-s -顯示每個協議的統計。默認情況下,顯示 TCP、UDP、ICMP 和 IP 的統計。-p 選項可以用來指定默認的子集。
-p protocol -顯示由 protocol 指定的協議的連接;protocol 可以是 tcp 或 udp。如果與 -s 選項一同使用顯示每個協議的統計,protocol 可以是 tcp、udp、icmp 或 ip。
-r -顯示路由表的內容。
interval
重新顯示所選的統計,在每次顯示之間暫停 interval 秒。按 CTRL+B 停止重新顯示統計。如果省略該參數,netstat 將列印一次當前的配置信息。
好了,看完這些幫助文件,我們應該明白netstat命令的使用方法了。現在就讓我們現學現用,用這個命令看一下自己的機器開放的埠。進入到命令行下,使用netstat命令的a和n兩個參數:
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 0.0.0.0:0
UDP 0.0.0.0:1046 0.0.0.0:0
UDP 0.0.0.0:1047 0.0.0.0:0
解釋一下,Active Connections是指當前本機活動連接,Proto是指連接使用的協議名稱,Local Address是本地計算機的 IP 地址和連接正在使用的埠號,Foreign Address是連接該埠的遠程計算機的 IP 地址和埠號,State則是表明TCP 連接的狀態,你可以看到後面三行的監聽埠是UDP協議的,所以沒有State表示的狀態。看!我的機器的7626埠已經開放,正在監聽等待連接,像這樣的情況極有可能是已經感染了冰河!急忙斷開網路,用殺毒軟體查殺病毒是正確的做法。
2.工作在windows2000下的命令行工具fport
使用windows2000的朋友要比使用windows9X的幸運一些,因為可以使用fport這個程序來顯示本機開放埠與進程的對應關系。
Fport是FoundStone出品的一個用來列出系統中所有打開的TCP/IP和UDP埠,以及它們對應應用程序的完整路徑、PID標識、進程名稱等信息的軟體。在命令行下使用,請看例子:
D:\>fport.exe
FPort v1.33 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
http://www.foundstone.com
Pid Process Port Proto Path
748 tcpsvcs -> 7 TCP C:\WINNT\System32\ tcpsvcs.exe
748 tcpsvcs -> 9 TCP C:\WINNT\System32\tcpsvcs.exe
748 tcpsvcs -> 19 TCP C:\WINNT\System32\tcpsvcs.exe
416 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
是不是一目瞭然了。這下,各個埠究竟是什麼程序打開的就都在你眼皮底下了。如果發現有某個可疑程序打開了某個可疑埠,可千萬不要大意哦,也許那就是一隻狡猾的木馬!
Fport的最新版本是2.0。在很多網站都提供下載,但是為了安全起見,當然最好還是到它的老家去下:點擊下載
3.與Fport功能類似的圖形化界面工具Active Ports
Active Ports為SmartLine出品,你可以用來監視電腦所有打開的TCP/IP/UDP埠,不但可以將你所有的埠顯示出來,還顯示所有埠所對應的程序所在的路徑,本地IP和遠端IP(試圖連接你的電腦IP)是否正在活動。
更棒的是,它還提供了一個關閉埠的功能,在你用它發現木馬開放的埠時,可以立即將埠關閉。這個軟體工作在Windows NT/2000/XP平台下。你可以在http://www.smartline.ru/software/aports.zip得到它。
❼ 如何查看哪個程序在使用80埠
開始---->運行---->cmd,或者是window+R組合鍵,調出命令窗口
如何查看某個埠被誰佔用
輸入命令:netstat -ano,列出所有埠的情況。在列表中我們觀察被佔用的埠,比如是49157,首先找到它。
如何查看某個埠被誰佔用
查看被佔用埠對應的PID,輸入命令:netstat -aon|findstr "49157",回車,記下最後一位數字,即PID,這里是2720
如何查看某個埠被誰佔用
繼續輸入tasklist|findstr "2720",回車,查看是哪個進程或者程序佔用了2720埠,結果是:svchost.exe
如何查看某個埠被誰佔用
或者是我們打開任務管理器,切換到進程選項卡,在PID一列查看2720對應的進程是誰,如果看不到PID這一列,如下圖:
如何查看某個埠被誰佔用
則我們點擊查看--->選擇列,將PID(進程標示符)前面的勾打上,點擊確定。
如何查看某個埠被誰佔用
這樣我們就看到了PID這一列標識,看一下2720對應的進程是誰,如果沒有,我們把下面的顯示所有用戶的進程前面的勾打上,就可以看到了,映像名稱是svchost.exe,描述是,Windows的主進程,與上面命令查看的完全一致。
如何查看某個埠被誰佔用
結束該進程:在任務管理器中選中該進程點擊」結束進程「按鈕,或者是在cmd的命令窗口中輸入:taskkill /f /t /im Tencentdl.exe。
如何查看某個埠被誰佔用
❽ 用系統自帶的埠查找,怎樣看哪個埠對應哪個程序
對應:你機子的埠號
對方機子IP且是80埠(你打開的IE)
處於等待狀態(以找到,等待對方的回應)
沒有程序對應哪個埠,這些都是根據服務,系統默認的1024以下的都是系統的,還不明白,直接找我跟你說
❾ 如何通過dos命令查找某個埠正在被哪個的程序使用啊
還有一個最好的辦法,是我看別人用的 給你個批處理,你把下面保存為 1.bat 然後運行 1.bat@echo offcolor 1fTitle XP埠-進程查詢 setlocal enabledelayedexpansion echo ╔- -╗ echo 本機開放的埠及使用該埠的進程 echo ╚- -╝echo ---echo 埠號 進程名稱 ECHO TCP協議: ::利用netstat命令找出使用TCP協議通信的埠,並將結果分割; ::將第二個參數(IP加埠)傳給%%i,第五個參數(PID號)傳給%%j; for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( call :Assoc %%i TCP %%j echo !TCP_Port! !TCP_Proc_Name!)ECHO UDP協議: for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( call :Assoc %%i UDP %%j echo !UDP_Port! !UDP_Proc_Name!)echo 按任意鍵退出pause>nul:Assoc::對%1(第一個參數)進行分割,將第二個參數傳給%%e。在本程序中,%1即為上面的%%i(形式為:IP:埠號) for /F "tokens=2 delims=:" %%e in ("%1") do ( set %2_Port=%%e):: 查詢PID等於%3(第三個參數)的進程,並將結果傳給變數?_Proc_Name,?代表UDP或者TCP; for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do (
❿ 查看埠被哪個程序佔用
2010-08-31 14:41
如何查看埠是否被佔用,及被哪個程序佔用
開始--運行--cmd 進入命令提示符 輸入netstat -ano
,但我是一年前就這知道這個命令是用來查看埠的佔用情況,但不知道大家是不是真正的能用好它,直到今天才認真的學習一下用來好好地給自己服務。
可以先查看後面的netstat的幫助內容。主要是幾個參數的解釋。
例子,比如現在啟動apache啟動不起來,或者啟動了也訪問不了頁面,這是假的啟動,於是需要查看80埠的佔用情況,當然有時候我們是不這做的,因為我們知道一些常用的程序,如迅雷,QQ的音樂,SKYPE這些軟體都喜歡干這種好事。至於他們為什麼要干這樣的好事我就不得而知了。直接關閉掉就能啟動apache了。
但如果遇到不知道哪個程序佔用時,我們有如下方式。
netstat -ano
這樣就顯示類似出了如下的一個結果:
Proto Local Address Foreign Address State
PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
2920
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
1356
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
1928
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
4
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
1496
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING
776
從上面的參數中a是表示所有的連接,n是以數字的形式顯示埠,pid是進程標志,三者都缺一不可。一般來說我們用這個命令就可以清淅看到上面的80埠是被pid2920的佔用了。
但也可以用如下的命令進一步查找80埠。
netstat -ano|findstr 「80″,這樣就不會顯示這么多結果,利於快速查找。
但不管什麼方式有了pid後,我們就進任務管理器看誰的pid是2920,
可以繼續執行下面的這個命令:
tasklist|findstr 「2920″ 2920為PID.
當時也可以直接打開任務管理器查看。
上面寫有些啰嗦,就是希望寫清楚一點,不要像我一樣只知道個netstat一年多了,還不知道具體如何用。
-a
顯示所有連接和監聽埠。
-b 顯示包含於創建每個連接或監聽埠的
可執行組件。在某些情況下已知可執行組件
擁有多個獨立組件,並且在這些情況下
包含於創建連接或監聽埠的組件序列
被顯示。這種情況下,可執行組件名
在底部的 []
中,頂部是其調用的組件,
等等,直到 TCP/IP 部分。注意此選項
可能需要很長時間,如果沒有足夠許可權
可能失敗。
-e 顯示乙太網統計信息。此選項可以與
-s
選項組合使用。
-n 以數字形式顯示地址和埠號。
-o
顯示與每個連接相關的所屬進程 ID。
-p proto 顯示 proto 指定的協議的連接;proto
可以是
下列協議之一: TCP、UDP、TCPv6 或 UDPv6。
如果與 -s
選項一起使用以顯示按協議統計信息,proto 可以是下列協議
之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r
顯示路由表。
-s 顯示按協議統計信息。默認地,顯示 IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息;
-p
選項用於指定默認情況的子集。
-v 與 -b 選項一起使用時將顯示包含於
為所有可執行組件創建連接或監聽埠的
組件。
interval
重新顯示選定統計信息,每次顯示之間
暫停時間間隔(以秒計)。按 CTRL+C
停止重新
顯示統計信息。如果省略,netstat 顯示當前
配置信息(只顯示一次)