2014-11-05 21 views
0

我最近用Sockets瞎搞,我意識到,你不僅可以通過DataOutputStream使用SocketsServerSockets發送數據,但你也可以輸入「localhost:[port]」到您的瀏覽器也將連接到ServerSocket並顯示無論ServerSocket返回在網頁上。如何使用套接字覆蓋網站/域?

看到這個讓我想知道是否有可能檢查我的網絡上的某個人是否要訪問特定的URL,如google.com,而不是連接到Google,只是在屏幕上顯示自定義內容。

如果這是可能的,那麼請告訴我,我確實知道這很可能在Java中不起作用,但相反,如果有人知道任何其他方式,那麼這將是非常多的也讚賞:)

回答

0

你可能想從here開始。一般來說,即使在Java中也可能做到這一點,如果您將使用JNI庫(可能會將網卡放入promiscuous mode),那麼您必須攔截所有DNS請求並使用自定義IP地址進行響應,這將指向您的服務器。

快樂黑客:)

0

的域由一個解析器,它會從DNS服務器這個答案解析爲IP地址。

對於像google.com這樣的映射到你自己的IP地址,你需要破解其中的一個(用於你的內部網絡),並防止查詢出去到谷歌名稱服務器;而是返回一個自定義或本地IP地址。具體而言,這些技術在公共互聯網上使用時稱爲中間人攻擊,並且存在https和DNSSEC等安全措施,可能會提醒最終用戶他們正在通過假網站服務。