2013-08-05 14 views
1

我試圖重新創建一個我在互聯網上找到的名爲upside-down ternet.的東西,它適用於我的家庭網絡。本質上,這個想法是使用ARP欺騙來改變互聯網竊取者的互聯網結果,使他們停止。我似乎無法得到它的工作。它從現在開始讀取所有傳入/傳出ARP數據包的地址和地址,但是當網絡瀏覽不能正確解析它們時,我似乎無法得到它發送的任何數據包,或者至少是我的電腦。這個問題似乎在TCP/IP包發送某處鹼液:在java中重新創建顛倒的ternet

public void sendTCPForKittens(IPPacket p) { 
     if (p.src_ip.getAddress().equals(
       Util.get_inet4(devices[0]).address.getAddress())) 
      return; 
     String incoming = Util.parseBytes(p.data); 
     System.out.println("Packet from: " + p.src_ip.toString() + "\nData: " 
       + incoming); 
     IPPacket falsep2 = p; 
     // p.datalink = ethpack; 
     if (p.src_ip.getAddress() == Util.encodeStringToByte("192.168.1.1")) { 
      falsep2.src_ip = p.src_ip; 
      falsep2.dst_ip = p.dst_ip; 
      falsep2.data = Util.encodeStringToByte("www.twitter.com"); 
      outgoing.sendPacket(falsep2); 
     } 
     // spoofed packet 
     /* 
     * System.out.println("SPOOFED IP DATA: "); 
     * System.out.println("Packet from: " + falsep2.src_ip.toString() + 
     * " To: " + falsep2.dst_ip.toString() + "\nData: " + 
     * Util.parseBytes(falsep2.data)); 
     */ 
     p.data = new byte[] { 0 }; 
     p.header = new byte[] { 0 }; 
     outgoing.sendPacket(p); 
    } 
+0

很好,你試試:) – sje397

+0

@ sje397你能幫我嗎? –

+0

如果你可以把它分解成更小的部分,你將會有更多的運氣尋求幫助 - 因爲消化有點太過分了 – sje397

回答

2

原始頁面您參考不提ARP欺騙的一切,我不知道什麼是你想在Java重寫。該系統有5個部分組成:

  1. 檢測未經授權的用戶(原液使用DHCP)
  2. 了自己的流量到專門的服務器(原來的解決方案中使用的iptables)
  3. 解析和重寫TCP流(原來的解決方案中使用的iptables + Linux內核)
  4. 代理HTTP協議(原溶液使用魷魚)
  5. 打開圖像上下顛倒(原溶液中使用的Perl + ImageMagick的)

由於您正在談論ARP,它看起來像要重寫(1)和(2)。我會建議反對這個。您似乎對網絡協議有很大的困惑(您談論ARP,該函數名稱中包含TCP,您使用的編碼不正確的主機名僅屬於DNS協議,您不設置數據包類型等)。

我建議先從工作液慢慢改寫的東西在Java中:

  • 讓自己在Linux /路由器的OpenWRT,然後設置防火牆的NAT規則,使得所有未經授權的網絡連接去你的主計算機。更好的是,您當前的路由器可能已經支持OpenWRT,那麼您將不必購買任何東西。這將立即處理最難的部分 - (1)(2)和(3)。您應該立即看到所有未授權的流量進入您的機器。
  • 安裝魷魚(步驟4)。所有未經授權的流量都將通過魷魚。
  • 在Java中顛倒旋轉圖像(步驟5)。
  • 當這個工作,你可以添加Java HTTP代理,所以你不必再使用Squid了。

如果你想這樣做,我可以更詳細地描述步驟。