asp获取用户真实IP地址的方法

asp获取用户真实IP地址的方法,第1张

一般的程序都具备获取用户IP地址的命令 但是我们访问网站有两种一种是我们这种普通用户 一种是使用代理IP上网的用誉姿含户 下面我来介绍介绍

 

在asp中获取用户IP地址我们最简单的获取方法就是使用

 代码如下  

Request ServerVariables("REMOTE_ADDR")

但是如果用户使用了代理服务器IP地址就不对了 但我们可通过

 代码如下  

Request ServerVariables("REMOTE_ADDR")

结果上面的两个获取IP的方法我们可如下 *** 作

 代码如下  

userip = Request ServerVariables("HTTP_X_FORWARDED_FOR")

If userip = "" Then userip = Request ServerVariables("REMOTE_ADDR")

上面的只是一个简单的判断方法 在实际应用中我们可能碰到的情况更册知多 下面看一个不错的实例

 代码如下  

<%Private Function getIP()  Dim strIPAddr  If Request ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") "unknown") >Then  strIPAddr = Request ServerVariables("REMOTE_ADDR")  ElseIf InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") " ") >Then  strIPAddr = Mid(Request ServerVariables("HTTP_X_FORWARDED_FOR") InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") " ") )  ElseIf InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") "") >Then  strIPAddr = Mid(Request ServerVariables("HTTP_X_FORWARDED_FOR") InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") "") )  Else  strIPAddr = Request ServerVariables("HTTP_X_FORWARDED_FOR")  End If  getIP = Trim(Mid(strIPAddr ))  End Function 庆笑 ip=getIP()  response write(ip)  %>

这样几乎可以获取到用户真实IP地址了 但是也不能保存所有代理的都能获取到了 只是大家都使用上面的方法

如果有使用asp net的朋友可参考下面方法来获取

 代码如下  

//方法一 HttpContext Current Request UserHostAddress

//方法二 HttpContext Current Request ServerVariables["REMOTE_ADDR"]

//方法三 string strHostName = System Net Dns GetHostName()string clientIPAddress = System Net Dns GetHostAddresses(strHostName) GetValue( ) ToString()

//方法四(无视代理) HttpContext Current Request ServerVariables["HTTP_X_FORWARDED_FOR"]

//方法五 var ip = <! #echo var="REMOTE_ADDR" >alert("Your IP address is "+ip)

lishixinzhi/Article/program/net/201311/14451

1、邮件查询法使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的方法,来获得邮件发送者所在计算机的IP地址下面就是该方法的具体实施步骤:

首先运行OutLook express程序,并单击工具栏中的“接受全部邮件”按钮,将朋友发送的邮件接受下来,再打开收件箱面,找到朋友发送过来的邮件,并用鼠标右键单击之,从d出的右键菜单中,执行“属性”命令

在其后打开的属性设置窗口中,单击“详细资料”标签,并在打开的标签面中,你将看到“Received: from xiecaiwen (unknown [11.111.45.25])”这样的信息,其中的“11.111.45.25”就是对方好友的IP地址当然,要是对方好友通过Internet中的WEB信箱给你发送电子邮件的话,那么你在这里看到的IP地址其实并不是他所在工作站的真实IP地址,而是WEB信箱所在网站的IP地址。

当然,如果你使用的是其他邮件客户端程序的话,查看发件人IP地址的方法可能与上面不一样例如要是你使用foxmail来接受好友邮件的话,那么你可以在收件箱中,选中目标邮件,再单击菜单栏中的“邮件”选项,从d出的下拉菜单中选中“原始信息”命令,就能在其后的界面中看到对方好友的IP地址了。

2、日志查询法这种方法是通过防火墙来对QQ聊天记录进行实时监控,然后打开防火墙的日志记录,找到对方好友的IP地址。为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友的IP地址:

考虑到与好友进行QQ聊天是通过UDP协议进行的,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从UDP端口进入的话,就将它自动记录下来。在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,d出设置窗口

在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”再在“网络条件”设置项处,选中“接受数据包”复选框,同时将“对方IP地址”设置为“任何地址”,而在“本地IP地址”设置项处不需要进行任何设置

下面再单击“UDP”标签,并在该标签面下的“本地端口”设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入燃陆“65535”同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。

接着在“当所有条件满足时”设置项处,选中“通行”选项,同时将“其他处理”处的“记录”选项选中,而“规则对象”设置项不需要进行任何设置完成了上面的所有设置后,单击“确定”按钮,返回到防火墙的主界面再在主界面中选中刚刚创建好的“搜查IP地址”规则,同时单击“保存”按钮,将前面的设置保存下来。

完成好上面的设置后,KV防火墙将自动对QQ聊天记录进行全程监控,一旦对方好友给你发来QQ信息时,那么对方好友的IP地址信历段旦息就会自动出现在防火墙的日志文件中,此肢扰时你可以进入到KV防火墙的安装目录中,找到并打开“kvfwlog”文件,就能搜查到对方好友的IP地址。

3、工具查询法这种方法是通过专业的IP地址查询工具,来快速搜查到对方计算机的IP地址。例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。在用WhereIsIP程序搜查对方IP地址时,首先启动该程序打开搜查界面,然后单击该界面的“Web site”按钮,在其后的窗口中输入对方好友的Web地址,再单击“next”按钮,这样该程序就能自动与Internet中的Domain Name Whois数据库联系,然后从该数据库中搜查到与该Web网站地址对应的IP地址了。当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。

倘若要想查看局域网中某个工作站的IP地址时,可以使用“网络刺客II”之类的工具来帮忙只要你运行该工具进入到它的主界面,然后执行工具栏中的“IP地址<->主机名”命令,在其后打开的对话框中,输入对方好友的计算机名称,再单击“转换成IP”按钮,就能获得对方好友所在计算机的IP地址了。

如果你使用Oicqsniffer工具的话,那么查询QQ好友的IP地址就更简单了。只要你单击该程序界面中的“追踪”按钮,然后向对方好友发送一条QQ消息,那么Oicqsniffer工具就会自动将对方好友的IP地址以及端口号显示出来了。除此之外,还有许多可以查找IP地址的专业工具可以选择,例如IPsniper软件。

4、命令查询法这种方法是通过Windows系统内置的网络命令“netstat”,来查出对方好友的IP地址,不过该方法需要你先想办法将对方好友邀请到QQ的“二人世界”中说上几句话才可以。下面就是该方法的具体实现步骤:

首先单击“开始”/“运行”命令,在d出的系统运行对话框中,输入“cmd”命令,单击“确定”按钮后,将屏幕切换到MS-DOS工作状态然后在DOS命令行中执行“netstat -n”命令,在d出的界面中,你就能看到当前究竟有哪些地址已经和你的计算机建立了连接(如果对应某个连接的状态为“Established”,就表明你的计算机和对方计算机之间的连接是成功的)

其次打开QQ程序,邀请对方好友加入“二人世界”,并在其中与朋友聊上几句,这样你的计算机就会与对方好友的计算机之间建立好了TCP连接此时,再在DOS命令行中执行“netstat -n”命令,看看现在又增加了哪个tcp连接,那个新增加的连接其实就是对方好友与你之间的UDP连接,查看对应连接中的“Foreign Address”就能知道对方好友的IP地址了。

下面以Kali Linux为例,演示获取IP地址的方法

(1)设置网络接口为自动获取IP地址。在Kali Linux的收藏夹中单击图标,将显示所有的程序,如图1.8所示。

(2)单击“设置”图标,将打开“设置”窗口,如图1.9所示。

(3)选择“局或网络”选项,单击有线连接中的察腊备齿轮按钮,将显示“有线”对话框,如图1.10所示。

(4)勾选“自动连接”复选框。然后,单击IPv4标签,将显示IPv4选项卡,如图1.11所示。

(5)在该界面选择“自动(DHCP)”选项。然后,单击“应用”按钮。接下来,就可以请求获取IP地址了。执行命令如下所示:

root@daxueba:~# dhclient eth0 –d

Internet Systems Consortium DHCP Client 4.3.5

Copyright 2004-2016 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:25:89:95

Sending on LPF/eth0/00:0c:29:25:89:95

Sending on Socket/fallback

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4

DHCPREQUEST of 192.168.0.12 on eth0 to 255.255.255.255 port 67

DHCPOFFER of 192.168.0.12 from 192.168.0.10

DHCPACK of 192.168.0.12 from 192.168.0.100

bound to 192.168.0.12 -- renewal in 277 seconds.

从输出的信息中,可以看到成功获取到IP地址192.168.0.12。由此可以说明,搭建的DHCP服务测试成败毁功。此时,用户查看地址租约文件dhcpd.leases,也可以看到分配的IP地址。如下所示:

root@daxueba:~# cat /var/lib/dhcp/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.3.5

# authoring-byte-order entry is generated, DO NOT DELETE

authoring-byte-order little-endian

lease 192.168.0.10 {

 starts 1 2018/07/02 10:15:00

 ends 1 2018/07/02 10:25:00

 cltt 1 2018/07/02 10:15:00

 binding state active

 next binding state free

 rewind binding state free

 hardware ethernet 00:0c:29:5c:ae:aa

 client-hostname "daxueba"

}

lease 192.168.0.11 {

 starts 1 2018/07/02 10:18:17

 ends 1 2018/07/02 10:28:17

 cltt 1 2018/07/02 10:18:17

 binding state active

 next binding state free

 rewind binding state free

 hardware ethernet 00:0c:29:99:92:4f

 uid "\001\000\014)\231\222O"

 set vendor-class-identifier = "MSFT 5.0"

 client-hostname "Test"

}

lease 192.168.0.12 {

 starts 1 2018/07/02 10:34:56

 ends 1 2018/07/02 10:44:56

 cltt 1 2018/07/02 10:34:56

 binding state active

 next binding state free

 rewind binding state free

 hardware ethernet 00:0c:29:25:89:95

 client-hostname "daxueba"

}

从输出的信息中,可以看到DHCP服务分配出去的IP地址及对应租约信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12430341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存