请求帮助如何查找打印机IPIP

查看: 194|回复: 1
请求拦截,求取出发送请求的IP
阅读权限30
结帖率: (0/1)
发表于 5&天前
& && && && &dat = 指针到字节集 (lParam, 21)
& && && && &SendOrRecv = 取字节集数据 (dat, #整数型, 1)
& && && && &SocketID = 取字节集数据 (dat, #整数型, 5)
& && && && &bufer = 取字节集数据 (dat, #整数型, 9)
& && && && &BufferLen = 取字节集数据 (dat, #整数型, 13)
& && && && &ip = 指针到文本 (取字节集数据 (dat, #整数型, 17))
& && && && &port = 取字节集数据 (dat, #整数型, 21)
& && && && &临时请求.SocketID = SocketID
& && && && &临时请求.ip = ip
& && && && &临时请求.port = port
IP不是空的,就是0.0.0.0,求大佬帮我改一下,能拦截请求的源地址
补充内容 ( 23:39):
IP不是空的,就是0.0.0.0,求大佬帮我改一下,能拦截请求的源地址
5&天前 上传
点击文件名下载附件
662.22 KB, 下载次数: 1
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
X3.2 揭阳市揭东区精易科技有限公司
粤公网安备 25实现步骤如下:
(1)新建一个java web工程
(2)新建servers包,新建类GetRequestIp,用来处理获取请求IP,GetRequestIp类完整代码如下:
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
public class GetRequestIp {
public static void post(HttpServletRequest request, HttpServletResponse response) {
getIpAddress(request);
public static String getIpAddress(HttpServletRequest request) {
String ip = null;
ip = request.getHeader("x-forwarded-for");
System.out.println("x-forwarded-for:" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For");
System.out.println("request.getHeader(\"X-Forwarded-For\")=" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
System.out.println("request.getHeader(\"Proxy-Client-IP\")=" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
System.out.println("request.getHeader(\"WL-Proxy-Client-IP\")=" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
System.out.println("request.getHeader(\"HTTP_CLIENT_IP\")=" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
System.out.println("request.getHeader(\"HTTP_X_FORWARDED_FOR\")=" + ip);
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
System.out.println("request.getRemoteAddr()=" + ip);
if(null != ip && ip.indexOf(',') != -1)
//如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串 IP 值
//取X-Forwarded-For中第一个非unknown的有效IP字符串
//如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
//用户真实IP为: 192.168.1.110
//注意:当访问地址为 localhost 时 地址格式为 0:0:0:0:0:0:1
System.out.println("ip=" + ip);
String[] ips = ip.split(",");
for (int i = 0; i & ips. i++)
if(null != ips[i] && !"unknown".equalsIgnoreCase(ips[i]))
ip = ips[i];
if("0:0:0:0:0:0:1".equals(ip))
System.out.println("由于客户端访问地址使用 localhost,获取客户端真实IP地址错误,请使用IP方式访问");
if("unknown".equalsIgnoreCase(ip))
System.out.println("由于客户端通过Squid反向代理软件访问,获取客户端真实IP地址错误,请更改squid.conf配置文件forwarded_for项默认是为on解决");
(3)新建一个JSP页面,命名为MyRequest.jsp,完整代码如下:
&%@ page import="servers.GetRequestIp" %&
&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
out.clear();
out = pageContext.pushBody();
GetRequestIp.post(request, response);
(4)运行,开启tomcat,在浏览器输入网址:http://127.0.0.1:8085/MyDemo/MyRequest.jsp,查看输出结果。
附:获取客户端IP地址时,使用不同代理时三个HTTP请求头的区别
   (learn from:)
  一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
  二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
  这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
  三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
  此种情况,隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
  四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
  告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
  五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
  完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
阅读(...) 评论()纸飞机许愿
前端路上,一路有你。编辑你的正能量,快乐工作,努力生活~
请选择弹奏的曲谱
点击开始录制,可以录制弹奏的曲子
分享钢琴节奏:查看: 194|回复: 1
请求拦截,求取出发送请求的IP
阅读权限30
结帖率: (0/1)
发表于 5&天前
& && && && &dat = 指针到字节集 (lParam, 21)
& && && && &SendOrRecv = 取字节集数据 (dat, #整数型, 1)
& && && && &SocketID = 取字节集数据 (dat, #整数型, 5)
& && && && &bufer = 取字节集数据 (dat, #整数型, 9)
& && && && &BufferLen = 取字节集数据 (dat, #整数型, 13)
& && && && &ip = 指针到文本 (取字节集数据 (dat, #整数型, 17))
& && && && &port = 取字节集数据 (dat, #整数型, 21)
& && && && &临时请求.SocketID = SocketID
& && && && &临时请求.ip = ip
& && && && &临时请求.port = port
IP不是空的,就是0.0.0.0,求大佬帮我改一下,能拦截请求的源地址
补充内容 ( 23:39):
IP不是空的,就是0.0.0.0,求大佬帮我改一下,能拦截请求的源地址
5&天前 上传
点击文件名下载附件
662.22 KB, 下载次数: 1
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
X3.2 揭阳市揭东区精易科技有限公司
粤公网安备 25

我要回帖

更多关于 查找打印机IP 的文章

 

随机推荐