- 浏览: 632591 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
注意:伪造Http请求IP地址一般为非推荐使用手段
一般使用:简单投票网站重复投票,黑别人网站
在项目开发中(web项目),我负责的系统(简称PC),需要调其它系统接口,并且该系统需要获取客户端(浏览器访问端)的IP地址,给我愁死了,
正常流程:浏览器---访问PC系统----PC系统需要调第三方系统,此时默认情况下,PC发起的request请求IP地址是PC所在服务器的IP地址,而不是请求浏览器端的IP地址
所以,就想着是否能把request里的IP地址给修改了,因为在PC系统里是能获取到请求IP地址的,结果是修改不了
最后了解到:可以在http请求头里,追加一个头信息(名称:x-forwarded-for),它会位于原始IP地址之前,所以当第三方系统获取地址时,就获取到了真实的浏览器访问地址IP了
本代码以java为列:
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
httpPost.addHeader("x-forwarded-for",ip);
详细代码如下:
http://www.cnblogs.com/holdon521/p/4686849.html
http://zhangxugg-163-com.iteye.com/blog/1663687
一般使用:简单投票网站重复投票,黑别人网站
在项目开发中(web项目),我负责的系统(简称PC),需要调其它系统接口,并且该系统需要获取客户端(浏览器访问端)的IP地址,给我愁死了,
正常流程:浏览器---访问PC系统----PC系统需要调第三方系统,此时默认情况下,PC发起的request请求IP地址是PC所在服务器的IP地址,而不是请求浏览器端的IP地址
所以,就想着是否能把request里的IP地址给修改了,因为在PC系统里是能获取到请求IP地址的,结果是修改不了
最后了解到:可以在http请求头里,追加一个头信息(名称:x-forwarded-for),它会位于原始IP地址之前,所以当第三方系统获取地址时,就获取到了真实的浏览器访问地址IP了
本代码以java为列:
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
httpPost.addHeader("x-forwarded-for",ip);
详细代码如下:
package com.sh.portal.framework.client.http; import java.io.IOException; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicHeader; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import org.springframework.stereotype.Component; import com.sh.portal.framework.client.RemoteServerArgs; import com.sh.portal.framework.client.RemoteServerClient; import com.sh.portal.framework.client.RemoteServerResponse; import com.sh.portal.util.CommonUtils; @Component public class RemoteServerClientImpl implements RemoteServerClient { private static final String DEFAULT_ENCODE = "UTF-8"; private static final String APPLICATION_JSON = "application/json"; @Override public RemoteServerResponse post(RemoteServerArgs args) throws IOException { String ip = CommonUtils.getRequestIpAddress(); // 创建HttpClientBuilder HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); // HttpClient CloseableHttpClient closeableHttpClient = httpClientBuilder.build(); // 请求参数 StringEntity entity = new StringEntity(args.getRequestJson(), DEFAULT_ENCODE); entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON)); HttpPost httpPost = new HttpPost(args.getUrl()); httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON); //此处区别PC终端类型 httpPost.addHeader("typeFlg", "9"); //此处增加浏览器端访问IP if(!ip.equals("")){ httpPost.addHeader("x-forwarded-for",ip); } httpPost.setEntity(entity); httpPost.setConfig(RequestConfig.DEFAULT); HttpResponse httpResponse; // post请求 httpResponse = closeableHttpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); RemoteServerResponse response; if (httpEntity != null) { response = new RemoteServerResponse(httpResponse.getStatusLine().getStatusCode(), EntityUtils.toString(httpEntity, DEFAULT_ENCODE)); } else { response = new RemoteServerResponse(httpResponse.getStatusLine().getStatusCode(), StringUtils.EMPTY); } //释放资源 closeableHttpClient.close(); return response; } }
http://www.cnblogs.com/holdon521/p/4686849.html
http://zhangxugg-163-com.iteye.com/blog/1663687
发表评论
-
stringentity、urlEncodeFormEntity区别
2018-04-10 20:43 751UrlEncodedFormEntity()的形式比较单一,只 ... -
HttpClient Post 二进制/字节流/byte[]
2018-03-11 23:29 1684http://blog.csdn.net/Sidyhe/art ... -
Socket端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT
2017-12-15 19:30 849http://blog.csdn.net/klzyf100/a ... -
java 实现https请求的基本原理与介绍
2017-09-17 23:13 672实现https请求的基本原理与介绍 http://blog.c ... -
wireshark过滤语法总结
2017-08-29 16:14 485wireshark过滤语法总结 http://blog.csd ... -
OkHttp3
2017-08-09 10:22 452http://www.jianshu.com/p/187328 ... -
HttpClient内部三个超时时间的区别
2017-07-22 15:21 17361.HttpClient内部三个超时 ... -
HttpClient 发送 HTTP、HTTPS 请求的简单封装
2017-05-27 11:27 630http://blog.csdn.net/happylee66 ... -
httpclient长链接与短链接
2017-05-27 10:12 1448http://blog.csdn.net/yaoqinggg/ ... -
正确使用ngrok穿透内网
2017-05-27 09:55 627http://blog.csdn.net/jiangbo_ph ... -
HTTP长连接和短连接以及推送技术原理
2017-03-05 22:39 1144http://blog.csdn.net/freewaywal ... -
HttpClient容易忽视的细节——连接关闭
2017-02-17 15:04 492HttpClient client = new HttpCli ... -
【HTTP】Fiddler(二) - 使用Fiddler做抓包分析
2017-02-17 08:24 592一.对PC(笔记本)参数进行配置 1. 配置fiddler允许 ... -
fiddler2抓包工具使用图文教程
2016-09-29 16:51 452参考:http://blog.163.com/hlz_2599 ... -
chrome安装插件,安装Postman
2016-09-29 08:56 6681、下载postman插件,可以自己到网上下载,也可以点击ht ... -
tcp三次握手建立连接,四次握手关闭连接
2016-09-12 09:05 50在发送http请求之前,客户端和服务器必须建立tcp三次握手连 ... -
RequestConfig类解析
2016-08-27 17:55 2190这个类位于 org.apache.http.client.co ... -
配置TOMCAT及httpClient的keepalive以高效利用长连接
2016-08-27 17:38 5162总所周知http1.1(http1.0不是标准,依服务器而定) ... -
http的安全方法和幂等性
2016-07-26 14:58 728最近在研究http,看到htt ... -
TCP的三次握手(建立连接)和四次挥手(关闭连接)
2016-05-15 13:01 481http://www.cnblogs.com/Jessy/p/ ...
相关推荐
在 Java 中伪造 HTTP 请求 IP 地址是指通过修改 HTTP 请求头中的 IP 地址信息,从而使得服务器端能够获取到伪造的 IP 地址。这种方法可以应用于各种需要伪造 IP 地址的场景,例如在第三方系统接口对接时,需要将调用...
易语言伪造网页访问ip地址 结合HTTP扩展请求头 X-Forwarded-For 可以对客户端IP进行伪造 X-Forwarded-For 是一个 HTTP 扩展头部,用来表示HTTP请求端真实 IP,HTTP/1.1 协议并没有对它的定义,但现如今X-Forwarded-...
在某些特殊场景下,比如测试、安全研究或模拟用户行为,可能会有需求伪造IP地址来发送HTTP请求。然而,值得注意的是,这种行为可能涉及违反网络安全法规,因此在实际操作中需谨慎。 伪造IP发送HTTP请求通常涉及到...
通过伪造HTTP请求头,可以改变请求源的表现形式,这种技术在渗透测试及网络安全领域有着重要的应用价值。 #### 知识点二:伪造HTTP头中的IP地址 在网络通信过程中,服务器会记录客户端的真实IP地址,这些信息通常...
"PHP 伪造IP 发送HTTP请求"这个主题涉及到网络编程的核心概念,包括客户端与服务器之间的交互以及如何在这些交互中隐藏或改变源IP地址。下面将详细探讨相关知识点。 首先,我们来了解HTTP(超文本传输协议)。它是...
注,需要安全scapy 在centos下,请执行以下脚本安装scapy #!/usr/bin sh cd /tmp wget scapy.net unzip scapy-latest.zip cd scapy-2.* python setup.py install 需要手工启动和杀线程关闭 经测python2可用
2. HTTP请求模块:这部分代码会使用伪造的IP地址发起HTTP或HTTPS请求,与目标网站进行交互。 3. 用户代理模拟:为了使伪装更逼真,源码可能还包括了模拟不同浏览器或设备的用户代理字符串。 4. 循环访问机制:如果...
HTTP_REFERER字段在HTTP请求头部,用于告知服务器请求页面来自何处。虽然大多数情况下它是真实可靠的,但很容易被伪造。下面将详细介绍两种利用PHP伪造HTTP_REFERER的方法: 1. **使用CURL** - **代码示例**: ```...
利用php curl更改http头实现伪造IP
- 考虑到安全性,应防止恶意用户通过伪造IP地址绕过转向规则。 - 优化代码,以处理大量并发请求,提升服务器性能。 通过以上介绍,你应该对使用易语言实现IP地址转向有了基本了解。在实践中,还需要结合具体的...
在PHP开发中,cURL库是一个非常强大的工具,它允许开发者发送HTTP请求并接收响应,进行数据抓取、网页交互等任务。然而,cURL在处理IP地址伪造时存在一定的限制。本文将深入探讨如何使用PHP cURL来伪造IP地址和HTTP...
但是当请求经过反向代理时,代理服务器会将原始的客户端IP地址信息附加在HTTP请求头中,通常使用`X-Forwarded-For`字段来传递这些信息。因此,为了获得客户端的真实IP地址,我们需要从HTTP请求头中读取这个字段的...
这样,当发送HTTP请求时,服务器端就会接收到这些在HTTP头部中伪造的IP地址。 示例PHP代码如下: ```php require_once dirname(__FILE__)."/iplib.php"; $req_url="***"; foreach($iparr as $forward => $cip){ ...
当在线服务没有提供白名单的ip地址甚至固定范围时,从字面上看,转发请求就变得很有必要。 并且作为标准的“ HTTP代理”似乎正在转发给实际发送者的许多信息,因此再次导致拒绝访问,因此创建了这个“假代理”。 ...
获取访问者IP地址的技术主要涉及到Servlet或JSP中的HTTP请求对象。在Java Servlet中,我们可以使用`HttpServletRequest`接口的`getRemoteAddr()`方法来获取客户端的IP地址。例如: ```java protected void doGet...
2. **安全性考量**:通过HTTP头获取IP地址可能存在伪造的风险,攻击者可以通过修改HTTP头中的IP信息来进行伪装。因此,在涉及到敏感操作时,最好使用可信的方式验证IP地址的有效性。 3. **隐私保护**:在收集和使用...
此外,还应考虑IP地址可能的伪造问题,以及隐私保护政策对获取IP地址的限制。在处理用户数据时,务必遵守相关法规,尊重用户隐私。 总结起来,通过VS2005和ASP.NET+C#,我们可以利用HttpRequest对象轻松获取客户端...
以下是一段典型的 Java 代码,用于从 HTTP 请求中获取客户端的真实 IP 地址: ```java public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if ...
CURL不仅可以用于正常的Web交互,还可以用来模拟用户的登录行为以及伪造IP地址。这在很多情况下可能会造成安全风险,比如刷票、网络攻击等。因此,了解和防范这种伪造IP的行为是非常重要的。 本实例通过PHP的CURL库...