1、急:ASP 获取用户的ip端口
<%
response.write Request.ServerVariables("REMOTE_ADDR")'获取IP 地址
response.write "<br>"
response.write Request.ServerVariables("REMOTE_PORT")'获取端口号
%>
晕,我想楼主是不是没弄清楚HTTP协议?HTTP协议是一种无状态协专议,也就是说这次浏属览时IE打开的是这个端口,但网页一旦下载,链接即被关闭,即下次再打开时端口也就变了,要区分局域网里的每台机子可以使用Session,因为SessionID因是保存在COOKIE里的,IIS为每个浏览者生成的SessionID都不一样,所以它是唯一的,可以用于区分每个不同的用户。
Session.SessionID返回当前浏览者的SessionID,可以设置COOKIE,把COOKIE的有效期设置一年,只要客户端用户不清除COOKIE,那么COOKIE就一直有效,对于IP,目前绝大多数都是动态IP,所以要长期用它来验证客户端身份不现实,也很难实现,而大多数都是用COOKIE来完成,自己生成一个唯一的编号,然后保存到客户Cookie中
2、asp如何控制外网对服务器端口的访问
我只对数据库存在的IP段授权访问3936这个端口,是什么意思?
有3种方法
1.通过路由来设定
2.通过IIS来设定,IIS安全里有设置IP访问
3.通过ASP代码来实现。用访问的IP段来实现控制IP访问
方法:首先在数据库建立IP段表fangwen_ip。。设2个文本字段 一个是起始IP fangwen_starip,另个是结束IP fangwen_stopip
之后在index.asp放入如下代码,通过后转入登录的页面
<%
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
end if
arr=split(userip,".")
IPNUMS=int(arr(0))*16777216+int(arr(1))*65536+int(arr(2))*256+int(arr(3))-1
ipsql="select * from fangwen_ip"
set iprs=conn.execute(ipsql)
if not iprs.eof and not iprs.bof then
do while not iprs.eof
starip=iprs("fangwen_starip")
stopip=iprs("fangwen_stopip")
sip=split(starip,".")
ks_ip=int(sip(0))*16777216+int(sip(1))*65536+int(sip(2))*256+int(sip(3))-1
eip=split(stopip,".")
js_ip=int(eip(0))*16777216+int(eip(1))*65536+int(eip(2))*256+int(eip(3))-1
if IPNUMS>ks_ip and IPNUMS<js_ip then
response.redirect "进入登陆页,自己设"
else
response.write "<font color=red size=4><b>对不起,您不该来这里,请走吧!</b></font>"
end if
iprs.movenext
loop
else
response.redirect "进入登陆页,自己设"
end if
iprs.close
set iprs=nothing
%>
以上是我写的,仅供参考。ASP代码已测试,可以用
3、asp检测端口状态
用ASP久了,就会感到有个很郁闷的地方:ASP不像其他脚本语言那样能访问Socket。所以或许你用过PHP、Perl等实现的端口扫描器,惟独没见过ASP的。嘿嘿,所以今天本文的目的就是利用“曲线救国”的策略实现ASP端口扫描器。Only for enjoy!
所谓曲线,呵呵,当然是利用其他的访问网络的组件,那么ASP有哪些组件可以访问网络呢?
第一个很容易想到,对,就是XMLHTTP。这个组件是以HTTP协议访问网络,当然可以用作端口扫描。但存在一个很难解决的问题:如果某端口打开且不是HTTP端口,那么XMLHTTP将会一直挂起,执着的等待返回HTTP数据。扫描就不能进行下去了。只好排除这个“曲线”了。
第二个组件也就是我们要利用的,嘿嘿,很常见哦,服务器上都有的,那就是ADODB.Connection。这个组件就是用于进行数据库连接的。当数据库是MSSQL的时候,Web Server就会访问SQL Server的1433端口……对,就是这里了,只要我们改动端口号,再根据返回的错误描述就可以判断该端口的状态。
下面是一个普通的连接MSSQL的字符串例子:
Provider=SQLOLEDB.1;Data Source=127.0.0.1;User ID=sa;Password=;
默认情况下端口是1433,下面是自己定义端口为1444的例子:
Provider=SQLOLEDB.1;Data Source=127.0.0.1,1444;User ID=sa;Password=;
根据端口的状态将得到几种结果:
端口开放且非SQL端口 ·[ConnectionOpen (PreLoginHandshake()).]一般性网络错误。请检查网络文档。
端口开放且为SQL端口 ·不返回错误(用户名密码正确)或者用户’sa’登陆失败(用户名密码不正确)
端口关闭 ·[ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问
呵呵,现在就好办了,只需要判断一下Error.Description就搞定。为了提高扫描速度,需要把Connection的ConnectionTimeout属性设为1,废话了,呵呵,具体看代码就是。
经过测试,lake2版ASP端口扫描器速度一般,就相当于一个单线程的扫描器。但是由于其脚本特性,在webshell上或许比其他类型的扫描器有更高的价值哦^_^
4、小旋风asp服务器的端口号在哪改?
一般默认是80端口 1!不要改就好 啊!!
把路由器映射一下就好了1!!
5、如何用ASP获取浏览器的名称,版本号及服务器的端口号
操作系统:
<%=Request.ServerVariables("OS")%>
服务器名称:
<%=Request.ServerVariables("SERVER_NAME")%>
服务器IP:
<%=Request.ServerVariables("LOCAL_ADDR")%>
CPU数量:
<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>个
服务端口:
<%=Request.ServerVariables("SERVER_PORT")%>
Webserver及版本:
<%=Request.ServerVariables("SERVER_SOFTWARE")%>
脚本解释引擎:
<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
服务协议及版本:
<%=Request.ServerVariables("SERVER_PROTOCOL")%>
脚本超时时间:
<%=Server.ScriptTimeout%>秒
网站物理路径:
<%=request.ServerVariables("APPL_PHYSICAL_PATH")%>
<%
Dim BrowseMsg,BrowseVersion,SystemVersion
BrowseMsg=Request.ServerVariables("HTTP_USER_AGENT")
'+++++++++++一个基本判别操作系统的函数+++++++++++
Function SystemCheck()
if inStr(BrowseMsg,"Windows 98") then
SystemCheck="Windows 98"
else if inStr(BrowseMsg,"Windows NT 4.0") then
SystemCheck="Windows NT 4.0"
else if inStr(BrowseMsg,"Windows NT 5.0") then
SystemCheck="Windows NT 2000"
else
SystemCheck="未知类型"
end if
end if
end if
end Function
'由于时间的原因我没有写判定win95和windows xp的语句,感兴趣的网友可以
'自行添加:)
'+++++++++++结束+++++++++++
if inStr(BrowseMsg,"MSIE") then
SystemVersion=CInt(Mid(BrowseMsg,inStr(BrowseMsg,"MSIE")+5,1))
response.write "您的浏览器的版本是 IE"&BrowseVersion&"<BR>"
response.write "您的操作系统是 "&SystemCheck()
end if
%>
6、黑风asp服务器怎么解决80端口被占用问题
在程序运行CMD中使用命令netstat -n -a -o 查看80端口被哪个PID程序所占用,然后使专用windows任务管理器查看具体属PID对应的具体程序。(任务管理器默认没有显示PID列,需在选择列中列出);一般80端口被把System进程所占用,即为操作系统自带的IIS的默认网站。可以在控制面板->所有程序中查看是否以安装IIS,如果已安装而不需要可以删除,否是在默认网站上点击右键,将默认的80段口修改为其它的,比如8080等;
7、如何在asp中实现指定服务器IP端口检测?
ip=request.serverVariables("remote_host")
8、试编写一ASP页面,实现在浏览器中显示输出接受请求的服务器的IP地址、服务器的端口号、当前网页的真实物理
服务来器的IP地址:自<%=Request.ServerVariables("LOCAL_ADDR")%>
服务器端口号:<%=Request.ServerVariables("SERVER_PORT")%>
当前网页的真实物理地址:<%=Request.ServerVariables("APPL_PHYSICAL_PATH")%>
9、如何解决在asp.NET开发服务器的端口号
用记录本打开web项目文件 *.csproj 为xml文档
找到节点:DevelopmentServerPort
修改他的值,重新打开项目调试即可