茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1670905 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
F09_379.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

微軟帝國 : [轉貼]如何查詢哪個程式佔用了指定 Port

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]如何查詢哪個程式佔用了指定 Port

2011 03 18 09 46 【系】如何查詢哪個程式佔用了指定Port

問題是這樣發生的,昨天要灌VMware vCenter時,在最後一個步驟確認每個Service Port時都會出現衝80 Port:



上網Google了一下(Google已經變成Survey的代名詞了嗎?哈),VC會安裝Tomcat所以會用到80 Port,回頭看了一下,因為之前要裝SQL Server 2008 64 bits(這篇還沒寫)得裝.NET Framework 3.5.1的前置作業(這篇也還沒寫),選了一些非必要的元件,所以衝到了,所以進到角色去把IIS移掉~

這邊也可以用另一個解法是Bind另一個IP,然後把IIS跟vCenter用的IP分開來,可以參考:  http://xtravirt.com/xd10071


重開機後發現問題還在,而且80 Port還是被用掉了,這時候回想不起來倒底裝了什麼也會用到80,所以從指令來查看是哪隻程式用掉了吧,這邊要用到2個Windows指令,netstat和tasklist:

C:\Users\Administrator>

  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

先找出佔用80 Port的PID,netstat的參數o可以做到,find可以列出符合Keyword的列表即可~

C:\Users\Administrator>

映像名稱                       PID 工作階段名稱      工作階段 #    RAM使用量

======================== ======== ================ =========== ============

System                           4 Services                   0        372 K

 


接下來再用tasklist找PID為4的的程式是哪一隻,結果只能發現是System啟用的?後來懷疑是在裝了SQL Server後某個元件所使用,初步懷疑是Report Server,進伺服器管理員 > 設定 > 服務裡面把『ReportServer$VC1MSSQL』停用,果然就搞定了,OYA!!

講了半天,這是個不適合的例子,哈~就當作是看看指令囉~

附錄,指令說明 (netstat):

顯示通訊協定統計資料和目前的 TCP/IP 網路連線。

 

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

 

  -a            顯示所有連線和接聽連接埠。

  -b            顯示涉及建立每個連線或接聽連接埠的

                可執行檔。在某些情況下,已知可執行檔可主控多個

                獨立元件,在這些情況下,便會顯示涉及建立連線

                或接聽連接埠的元件順序。如此,可執行檔名稱位於

                底部的 [] 中,上方便是它呼叫的元件等,

                直到已達 TCP/IP。請注意,此選項


                相當耗時,而且如果您沒有足夠的權限,便會失敗。

  -e            顯示乙太網路統計資料。這可以跟 -s 選項合併使用。

  -f            顯示外部地址的完整格式的網域名稱 (FQDN)。

  -n            以數字格式顯示位址和連接埠號碼。

  -o            顯示與每個連線相關聯的擁有處理程序識別碼。

  -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 選項可以用來指定預設的子集。

  -t            顯示目前的連線卸載狀態。

  interval      重新顯示選取的統計資料,每次顯示之間的暫停

                間隔秒數。按 CTRL+C 鍵可以停止重新顯示

                統計資料。如果省略,netstat 將會列印一次目前的

                設定資訊。

 

附錄,指令說明 (tasklist):

 

TASKLIST [/S system [/U username [/P [password]]]]

         [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

 

描述:

    此工具會顯示本機或遠端電腦上,

    目前正在執行中的處理程序清單。

 

參數清單:


   /S     system           指定要連線的遠端系統。

 

   /U     [domain\]user    指定要執行命令的使用者內容。

   /P     [password]       指定所給予使用者內容的密碼。

                           如果省略,會出現密碼輸入要求。

 

   /M     [module]         使用指定的 exe/dll 名稱列出

                           所有工作。如果沒有指定模組名稱,

                           則會顯示所有已載入的模組。

 

   /SVC                    顯示每個處理程序中所主控的服務。

 

   /V                      顯示詳細工作資訊。

 


   /FI    filter           顯示符合篩選器指定條件

                           的工作組。

 

   /FO    format           指定輸出的格式。

                           有效值: "TABLE"、"LIST"、"CSV"。

 

   /NH                     指定不要在輸出中顯示的

                           欄位標題。

                           只有在 "TABLE" 和 "CSV" 格式有效。

 

   /?                      顯示這個說明訊息。

 

篩選器:


    篩選器名稱      正確的運算子              正確值的

    -----------     ---------------           --------------------------

    STATUS          eq, ne                    RUNNING | 

                                              NOT RESPONDING | UNKNOWN

    IMAGENAME       eq, ne                    影像名稱

    PID             eq, ne, gt, lt, ge, le    PID 值

    SESSION         eq, ne, gt, lt, ge, le    工作階段號碼


    SESSIONNAME     eq, ne                    工作階段名稱

    CPUTIME         eq, ne, gt, lt, ge, le    CPU 的時間格式

                                              是 hh:mm:ss。

                                              hh - 小時

                                              mm - 分鐘, ss - 秒數

    MEMUSAGE        eq, ne, gt, lt, ge, le    記憶體使用量 (單位: KB)


    USERNAME        eq, ne                    [domain\]user 格式的使用者

                                              名稱

    SERVICES        eq, ne                    服務名稱

    WINDOWTITLE     eq, ne                    視窗標題

    MODULES         eq, ne                    DLL 名稱

 

注意: 當查詢遠端電腦時,不支援使用 "WINDOWTITLE" 及 "STATUS"

      篩選。

 

範例:

    TASKLIST

    TASKLIST /M

    TASKLIST /V /FO CSV


    TASKLIST /SVC /FO LIST

    TASKLIST /M wbem*

    TASKLIST /S system /FO LIST

    TASKLIST /S system /U domain\username /FO CSV /NH

    TASKLIST /S system /U username /P password /FO TABLE /NH

    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

 


原文出處:【系】如何查詢哪個程式佔用了指定Port @ 卡達+噗寶=阿噗噗 :: 隨意窩 Xuite日誌
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]架設 Serve, 網頁無法瀏覽?

[問題排除] 架設 Serve, 網頁無法瀏覽??
演出: 天使兔
場景: 網頁設計部
事件: 【 咦~ 為什麼無法瀏覽網頁呢?】


架設網站常遇到的問題就是, 安裝好了之後, 為什麼無法正常瀏覽網頁?? 找不到資料庫?? 要怎麼排除呢??


通常無法瀏覽有很多種原因, 其中一個是使用的PORT被佔用,
網頁預設使用80PORT, FTP為21, POP3為110, MYSQL為3306, MSSQL為1433, 1434等.... 所以可能預設的PORT被別的程式佔用, 這時我們可以先查詢目前電腦PORT使用的情形來做排除



1. 查詢命令:netstat - ano, 查詢PID

 

 



 


‧按下快速鍵 Crtl+Alt+Del 即可呼叫出工作管理員,或在視窗最下方的藍色工具列上按右鍵, 點選工作管理員
‧再到 "處理程序", 若無 PID的欄位, 請先至 "檢視"=> "選擇欄位" 將PID勾選便可以瀏覽
‧找出PID值的使用程式名稱即可知道佔用的程式為何

 

 

 

 

 

參考文章: http://wuyy.idv.tw/blog/index.php/20070530/

 

最後更新:2008-01-02

 


原文出處:[問題排除] 80PORT被佔用? 如何查出佔用PORT的方法 @ 小笨蛋的工作日誌 :: 隨意窩 Xuite日誌
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|