java中关于伪造IP地址的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中关于伪造IP地址的方法相关的知识,希望对你有一定的参考价值。

我需要做一个刷量程序,我要在后台用URLConnection打开地址,最重要的就是独立IP访问数,想用java伪造ip地址,像浏览器信息呀什么的 都可以伪造设置header头如:conn.setRequestProperty("X-Forwarded-For","112.211.0.125");
conn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.19 (Khtml, like Gecko) Chrome/18.0.1025.142 Safari/535.19");
conn.setRequestProperty("cache-control","max-age=0");
conn.setRequestProperty("accept-encoding","gzip,deflate,sdch");
conn.setRequestProperty("accept-language","zh-CN,zh;q=0.8");
conn.setRequestProperty("accept-charset","GBK,utf-8;q=0.7,*;q=0.3");
conn.setRequestProperty("cookie","JSESSIONID=68061CFC39297297DE7A27140DC0A9A8");
在有的程序中 会通过getHeader("X-Forwarded-For");来得到代理IP的真实地址,这个可以伪造
conn.setRequestProperty("X-Forwarded-For","112.211.0.125");
查询出来的 也是伪造的IP但是要是用java自身的方法request.getRemoteAddr() 得到的还是自己的IP,有什么好的伪造IP的方法么?

参考技术A 物理意义上没有“伪造Ip”这一说,只有使用代理IP。 参考技术B 刷量只能用代理。。
不停地换代理刷本回答被提问者采纳

带你整理面试过程中关于ARP 协议的相关知识点

文章目录

一、什么是 ARP 协议

ARP 是地址解析协议,用于通过目标 IP 地址,定位下一个接收数据包的网络设备的 MAC 地址。如果目标主机处在同一个数据链路上,那么可以直接得到目标主机的 MAC 地址,否则会得到下一条路由器的 MAC 地址。

MAC 和 IP 地址虽然看上去功能类似(都是用于唯一区分主机),但是两者缺一不可。

如果只有 IP 地址,虽然可以跳过 ARP,直接在数据链路上发一个广播,但是这仅适用于通信双方处于同一个数据链路下的情况。

如果双方处于不同的数据链路,数据报无法穿透中间的路由器。

同样如果只有 MAC 地址,这个过程也会耗费巨大的流量

mac地址就好像人的身份证,这个身份证和人的户口所在的城市,出生的日期相关,但是和人的位置没有关系,人是会移动的,知道这个身份证,并不能找到这个人。而ip地址表示这个人在网络中的位置,类似城市名+道路号+门牌号。所以通过ip寻址配合mac地址才能完成两台计算机的通信。
具体就是通过mac定位到城市,在通过ip定位到具体的人。

所以才产生 ARP 这样的协议将两者关联起来

二、ARP 协议的工作原理

ARP 协议的工作原理可以分为两部分:ARP 请求和 ARP 响应。

(1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系

因为一般来说,一旦源主机向目标地址发送一个数据包,接下来继续发送多次的概率非常大,因此这种缓存非常容易命中,可以提高使用效率

(2)当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。

(3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

(4)源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败

广播发送ARP请求,单播发送ARP响应

参考:

【1】https://blog.csdn.net/A_LINGYUAN/article/details/80036329
【2】https://juejin.cn/post/6844903521268006926
【3】https://blog.csdn.net/nanhuaibeian/article/details/109398562

以上是关于java中关于伪造IP地址的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何向PHP伪造自己的ip

使用CURL伪造来源网址与IP

HTTP中ip地址伪造的问题以及解决办法

为啥不能伪造 IP 地址?

[WEB安全]伪造IP地址进行爆破的BurpSuite插件:BurpFakeIP

如何伪造 udp 数据包的源 IP 地址?