Router

如何 - 使用 BSD 套接字的 UDP NAT 遍歷

  • November 11, 2011

我一直在閱讀需要使用外部 STUN 伺服器的 NAT 遍歷。公共STUN 伺服器很少,但我不知道如何使用它們來找出我的公共 IP,其他客戶端可以使用該 IP 來啟動連接。作為一個菜鳥,我無法使用 BSD 套接字找到正確的文件。如果有人可以解釋我如何找到以 BSD 套接字為基礎的公共 IP,那就太好了。此外,如果您可以為此提供良好的連結,我們也將不勝感激。

它在 STUN 綁定響應中。RFC 5389,STUN 規範,在第 7 頁解釋瞭如何:

STUN 伺服器將該源傳輸地址複製到 STUN 綁定響應中的 XOR-MAPPED-ADDRESS 屬性中,並將綁定響應發送回 STUN 客戶端。當此數據包通過 NAT 傳回時,NAT 將修改 IP 標頭中的目標傳輸地址,但 STUN 響應正文中 XOR-MAPPED-ADDRESS 屬性中的傳輸地址將保持不變。這樣,客戶端就可以獲知其最外層NAT分配給STUN伺服器的自反傳輸地址。

引用自:https://serverfault.com/questions/328628