我正在尝试重新创建我在互联网上发现的名为upside-down ternet.的内容,以便在家庭网络上使用。从本质上讲,这个想法是使用ARP Spoofing来改变互联网窃取者的互联网结果,使它们停止。我似乎无法让它工作。它从现在开始读取所有传入/传出arp数据包的地址,但是当网页浏览无法正确解析时,我似乎无法让它发送任何数据包,或者至少是我的计算机。问题似乎在tcp / ip数据包发送中的某处:
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 :(得分:2)
你所引用的原始页面根本没有提到ARP欺骗,我不确定你想在java中重写什么。该系统有5个组成部分:
既然你在谈论ARP,看起来你想重写(1)和(2)。我建议不要这样做。您似乎对网络协议非常困惑(您谈论ARP,该功能在名称中使用TCP,您使用仅属于DNS协议的不正确编码的主机名,您不设置数据包类型等...)。
我建议从工作解决方案开始,然后在java中慢慢重写内容:
如果你想这样做,我可以更详细地描述这些步骤。