2007年9月25日

UPnP Client

這篇算是接續前一篇,因為隨便搜尋就會發現,很多很多很多的人在問,有沒有UPnP tools可以很簡單的開port,有人要Linux版的,有人要Windows版的,因此我特別將miniupnp的UPnP Client抓出來圖文解說一下,心動的自己點連結下載,沒感覺、不瞭解、看熱鬧的..........隨意即可。
miniupnp的網站在http://miniupnp.free.fr/,在其中Download的頁面中,就有可以直接下載的連結。
連結中,Windows的部份直接就有提供編譯好的binary版本,省去了安裝MinGW,以及編譯的麻煩。
至於Linux部份,我直接下載source code,解壓縮後打make.....make install.....cp upnpc /usr/local/bin/ 就完成了,非常之輕鬆愉快~

以下是在Windows上執行的畫面,首先我們先執行看看,看長什麼樣子(備註:我已經先copy到C:\WINNT\system32\ 我是win2k系統):

我們可以看到,它有簡單而詳盡的說明。

接著我們可以用它來查詢目前UPnP Server開了哪些Port:

ㄟ~可以看到目前開了1個Port,是192.168.1.6的utorrent開的35050。

再來我們試著來開port看看,我們開TCP 11131和UDP 11142:


恩~看到了,我們成功的把port開出來了。

再來我們把它們刪掉:


簡單方便吧~這樣一來,只要有支援UPnP的NAT,不論是AP、Linux、FreeBSD,我們都可以輕易的開個port來用,而Client更是沒有顧忌,不論是Linux、FreeBSD、Windows,也都可以簡單方便的使用這個工具,ㄟ~MacOS目前我不清楚有沒有支援,不過MacOS和Linux、FreeBSD都很親近,我相信是有支援的。

最後補充一點,有沒有發現整個示範過程中,沒有出現任何的帳號、密碼,而且由upnpc建立的port,他的程式名稱也只是簡單的libminiupnpc,看起來很容易竄改的感覺。
沒錯~UPnP方便歸方便,畢竟是M$提出來的東西,但是目前的UPnP有很大的問題,就是安全性極差,可以在google上搜尋upnp和安全漏洞,一定可以發現,之前已經有人發出UPnP有嚴重的安全性問題,主要原因可能就在於目前的UPnP Server多半都沒有認證機制,像miniupnpd只有簡單的設定許可的網路區段,這在目前是很嚴重的問題,沒有大量的浮現,主要原因恐怕是目前大部分人對它技術還不夠熟悉,不過最近client已經有很多人寫出來了,我相信相關的病毒在不久的未來就會出現,不論是針對UPnP的DDoS,或者是病毒利用UPnP自動開洞進行入侵,我相信會出現的,可能再說這麼說得時候,已經有寫好的版本,只是還沒大規模感染或我不知道罷了。

沒有留言: