勵志

勵志人生知識庫

portmap怎麼使用

portmap是一個伺服器,它將RPC程式號轉換為DARPA的協定連線埠號,在使用RPC調用時它必須運行。當一個RPC伺服器啟動時,會選擇一個空閒的連線埠號並在上面監聽,同時它作為一個可用的服務會在portmap進程註冊。一個RPC伺服器對應惟一一個RPC程式號,RPC伺服器告訴portmap進程它在哪個連線埠號上監聽連線請求和為哪個RPC程式號提供服務。經過這個過程,portmap進程就知道了每一個已註冊的RPC伺服器所用的Internet連線埠號,而且還知道哪個程式號在這個連線埠上是可用的。portmap進程維護著一張RPC程式號到Internet連線埠號之間的映射表,它的欄位包括程式號、版本號、所用協定、連線埠號和服務名,portmap進程通過這張映射表來提供程式號-連線埠號之間的轉化功能。

使用portmap的步驟如下:

首先,需要在具有公網ip的主機上執行portmap命令,例如:./portmap -m 2 -p1 6666 -h2 公網IP -p2 7777,這是監聽來自6666連線埠的請求,將其轉發到7777連線埠。這裡的6666連線埠和7777連線埠在公網IP上都是打開的。

然後在另一台主機上執行portmap命令,例如:./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 公網ip -p2 6666,這是將區域網路主機22連線埠的流量轉發到公網主機的6666連線埠。

全部完成後就用ubuntu來驗證,試試用ssh命令來連線公網的7777連線埠,返回出來的是區域網路主機kali的shell就成功了。

需要注意的是,portmap只在第一次建立連線的時候起作用,幫助網路應用程式找到正確的通訊連線埠,但是一旦這個雙方正確連線,連線埠和套用就綁定,portmap也就不起作用了。但對其他任何第一次需要找到連線埠建立通訊的套用仍然有用。