2014年2月4日 星期二

安裝vCenter port 80 占用移除

問題是這樣發生的,昨天要灌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>  netstat -nao |find "0.0.0.0:80"  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
先找出佔用80 Port的PID,netstat的參數o可以做到,find可以列出符合Keyword的列表即可~
C:\Users\Administrator>  tasklist /fi "pid eq 4"
映像名稱                       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"