2013-04-24 102 views
0

使用的netcat我通過以下方式與-p選項

nc -l 3333 //for server 

nc 127.0.0.1 3333 // for client 

有了這個我可以使用它作爲一個雙向聊天系統中使用的netcat。

我的問題是,爲什麼會出現另一種選擇

-p(-p source_port指定NC應使用源端口,受權限限制和可用性。)

它的工作原理與-p選項。兩者有什麼區別?

回答

2

TCP連接由兩個TCP端點組成,每個端點由一個IP地址和一個TCP端口組成。客戶端通常會選擇一個隨機端口,但您可以使用-p選項強制netstat使用給定的端口。

嘗試:

[email protected]:~$ nc -l 3333 -p 4444 
nc: cannot use -p and -l 
[email protected]:~$ nc -l 3333 & 
[1] 6025 
[email protected]:~$ nc localhost 3333 -p 3333 
nc: bind failed: Address already in use 
+0

哦,沒關係。所以,我們可以指定客戶端發送數據包時使用特定端口?所以沒有使用-p選項的服務器? – DesirePRG 2013-04-24 16:14:59

+1

@DesirePRG客戶端使用該端口發送和接收數據。與客戶端連接的服務器端口實際上並不是3333:這是監聽端口,服務器在接受連接時會獲得不同的端口。 – 2013-04-24 16:32:06