不懂就问,有没有办法能实现在通过代理服务器访问时,让服务器拿到客户端的 ip 而不是代理服务器的

2020-03-27 18:21:45 +08:00
 monkeyWie

例如客户端 ip 是 1.1.1.1,通过一个 HTTP 代理服务器 2.2.2.2 访问 www.baidu.com ,百度获取到我的客户端 ip 是 2.2.2.2,有没有办法让百度拿到客户端的 ip 1.1.1.1 呢?

在应用层伪造 HTTP 请求头(x-forwarded-for)基本上是不行的,能不能改变 TCP 上的源 ip 来实现呢?

3125 次点击
所在节点    宽带症候群
33 条回复
ThirdFlame
2020-03-27 18:29:09 +08:00
如果代理 给你发来了 x-forwarded-for,那么可以参考这个值。

改变 tcp 源 IP,那你服务器数据回复到哪里呢。

再说一点,不用代理了。用梯子,你怎么找到源 ip 。 所以请放弃 挣扎。
jangit
2020-03-27 18:31:08 +08:00
不大可能呢
代理后面的客户端说不定是内网地址呢
monkeyWie
2020-03-27 18:32:46 +08:00
@ThirdFlame 额,可能我没太说明白,我现在的角色是客户端和代理服务器,就是想让别人知道我的真实 ip,而不是代理服务器 ip
monkeyWie
2020-03-27 18:35:10 +08:00
@jangit 客户端出网是外网 ip 呀,代理服务器和客户端不是一个局域网下的,代理服务器单独部署在外网。
yaoliyc
2020-03-27 18:35:46 +08:00
代理服务器转发可以拿到,不转发拿不到
CallMeReznov
2020-03-27 18:41:31 +08:00
WebRTC 可以拿到,不过也可以关闭
Tianao
2020-03-27 18:43:50 +08:00
只要你可以控制代理服务器,代理服务器就可以伪造源 IP,但伪造生成的 IP 报文能不能被路由到目标服务器,又能不能从目标服务器被路由回来就看你本事了,这里的本事就是操纵 IP 路由的本事。比如这两天闹得沸沸扬扬的中间人攻击事件的攻击者就有这个本事。
wwbfred
2020-03-27 18:48:55 +08:00
没试过,理论上应该可以做到,但为了满足需求可能要动内核,且回程必定是直连.
你可以先试试 iptables 在本地和代理各做一次 DNAT,不要 SNAT,然后看看本地是怎么对待返回包的.
geekvcn
2020-03-27 19:28:38 +08:00
楼主需求,我想要快递直接把货送到我家里,但是不想让快递知道我在哪个小区,怎么办
hshpy
2020-03-27 19:30:42 +08:00
请求头不可信,除非你控制得了代理服务器,不然拿不到。
cyberpoint
2020-03-27 19:31:54 +08:00
做梦
unixeno
2020-03-27 19:40:34 +08:00
如果代理服务器和目标服务器都是你控制的话,可以
jugelizi
2020-03-27 19:42:29 +08:00
好比你叫了一个跑腿的 去超市买袋米 跑腿的买米自己付钱 拿回来给你 请问超市怎么知道你在买米?
Vhc001
2020-03-27 19:43:39 +08:00
TCP 不行,服务器拿到的 100%是真实 IP (就是你代理服务器的 IP )
UDP 可以
ALLLi
2020-03-27 19:45:39 +08:00
@Vhc001 TCP 可以,OPTION 头几年可以记录真实 IP
Vhc001
2020-03-27 19:47:57 +08:00
@ALLLi #15 那你挂全局代理访问百度试试
guoqiyi
2020-03-27 19:53:54 +08:00
真有这技术,本站不少人早被请去喝茶了
Raynard
2020-03-27 19:55:55 +08:00
能,

挂全局还能获取真实 ip,环境是常规电脑,不做其它匿名操作

不知道怎么实现的
ALLLi
2020-03-27 20:04:46 +08:00
ThirdFlame
2020-03-27 20:04:51 +08:00
@monkeyWie 那你的代理 就加 x-forwarded-for 即可。服务器端如果认可这个就 ok 了。
但是 由于 x-forwarded-for 可以伪造,所以好多服务器端已经不认这个了。

那么你可以和服务器端协商一个 header,代理用这个 header 写上客户端 ip,发给我服务器端即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX