如何列出 windows workgroup ?
首先必須安裝 samba
sudo aptitude install samba
安裝好後,就可以使用指令 nmblookup
nmblookup -M MYHOME #myhome 就是我的 workgroup。 nmblookup -M -- - # 如果用這種方法的話,則會找出所有的 LMB , 一個 LMB 代表一個 workgroup。 # 下面為結果輸出 : querying _MSBROWSE__ on 192.168.1.255 192.168.1.136 __MSBROWSE__ <01> 192.168.1.109 __MSBROWSE__ <01>
當找出了 LMB 就可以根據 LMB 來查詢此 LMB 下所有的電腦。
smbclient -L 192.168.1.136 -U % # 則可以列出 此 LMB 裡所有的電腦,並且此 LMB 所提供的 service # 下面為結果輸出 Domain=[TAIPEIHOME] OS=[Unix] Server=[Samba 3.2.5] Sharename Type Comment --------- ---- ------- movies Disk Home Movies drama Disk Home Drama print$ Disk Printer Drivers IPC$ IPC IPC Service (shome server) Domain=[MYHOME] OS=[Unix] Server=[Samba 3.2.5] Server Comment --------- ------- HOME home server Workgroup Master --------- ------- MYHOME HOME WORKGROUP HOMEUSER
如果是 linux ,顯示很 ok 但是如果是 windows 則會有點問題。
smbclient -L 192.168.1.109 -U % # 下面為結果輸出 Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Sharename Type Comment --------- ---- ------- cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine 192.168.3.109. Error was NT_STATUS_ACCESS_DENIED Error returning browse list: NT_STATUS_ACCESS_DENIED session request to 192.168.3.109 failed (Called name not present) session request to 192 failed (Called name not present) Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Server Comment --------- ------- HOMEUSER Workgroup Master --------- ------- MYHOME HOME WORKGROUP HOMEUSER # 改用下面方法 smbclient -L 192.168.1.109 -U vincent # 則會要求輸入密碼,如果沒有密碼,直接按 enter,如果有的話就必須輸入 # 下面為結果輸出 Domain=[HOMEUSER] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Sharename Type Comment --------- ---- ------- IPC$ IPC 遠端 IPC 電影 Disk session request to 192.168.3.109 failed (Called name not present) session request to 192 failed (Called name not present) Domain=[HOMEUSER] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Server Comment --------- ------- Workgroup Master --------- ------- # 從上面的輸出可以看到很奇怪的 error ,Called name not present # 這次改成用 domain name 來測試 smbclient -L HOMEUSER -U vincent # 下面為結果輸出 Domain=[HOMEUSER] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Sharename Type Comment --------- ---- ------- IPC$ IPC 遠端 IPC 電影 Disk Domain=[HOMEUSER] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Server Comment --------- ------- Workgroup Master --------- -------
從上面結果輸出其實可以發現有一些些不同,
不過已經可以達到我的目的了。
接下來只要去 mount 就好了。
PS. LMB 可以參考另外一篇文章。