webForumDet fria alternativet

Kolla besökarens internetbolag

ASP

12 svar · 1 470 visningar · startad av Zerpens

Medlem sedan okt. 2002102 inlägg
Frågan#1

Tjena !

Om man har en hemsida så kan man ju kolla ipnummer, webbläsare osv som besökarna har/använder. Finns det möjlighet att få fram med vilket internetbolag personen surfar med ?

Om så, hur får man fram det ?

tack på förhand :birp

Medlem sedan mars 20016 260 inlägg
#2

du tar ip adressen, går till en whois tjänst anger den å får därmed besökaren ISP (för det mesta iaf)
Om det finns nån funktion/komponent för detta vet jag inte, men det kanske går att göra själv?

Medlem sedan okt. 2002102 inlägg
#3

Min tanke är att det ska ske med automatik. Menar om man har en ftp server så kan man ju se vad användaren är uppkopplad med, så borde ju fungera.

Någon annan som vet hur man gör ?

Medlem sedan juni 200032 967 inlägg
#4

Du kan installera någon DNS-komponent och göra uppslag mot dns-servrar vid besök. Det finns flera gratis DNS-komponenter som fungerar bra.

Mvh

Medlem sedan feb. 200115 571 inlägg
#5

Sök på Google efter aspdns.dll så hittar du en komponent som fixar det där.

Medlem sedan apr. 20007 588 inlägg
#6

Ta besökarens IP-adress, skapa en uppkoppling mot whois.ripe.net (för europeiska IP-adresser), whois.arin.net (för amerikanska dito) eller whois.apnic.net (för asien mfl) på port 43.

Skicka in IP-adressen, du får tillbaka ett svar med data om vem som är registrant för IP-adressen.

Ur detta data kan du (oftast) plocka fram namnet på bolaget som står som registrant av IP-adressen, när det gäller RIPE så skall du leta efter första raden som börjar med descr:, när det gäller ARIN så är det raden som börjar med OrgName:.

Exempel på data från RIPE (webforums IP):

% This is the RIPE Whois server.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See [url]http://www.ripe.net/ripencc/pub-services/db/copyright.html[/url]

inetnum: 193.13.72.0 - 193.13.74.255
netname: SE-GRIFFEL-NET1
[b]descr: Griffel Data AB [blue]<-- denna rad[/blue][/b]
####################################
In case of improper use, please mail
or
####################################
country: SE
admin-c: JB72-RIPE
tech-c: JB72-RIPE
status: ASSIGNED PA
mnt-by: SWIPNET-LIR-MNT
mnt-lower: SWIPNET-LIR-MNT
mnt-routes: AS1257-MNT
changed: [email]ip@swip.net[/email] 20000322
changed: [email]ip@swip.net[/email] 20020419
changed: [email]ip@swip.net[/email] 20030114
source: RIPE

route: 193.12.0.0/14
descr: SWIPNET
###################################################
In case of improper use originating from our network,
please mail customer or
###################################################
origin: AS1257
notify: [email]staff@swip.net[/email]
mnt-by: AS1257-MNT
changed: [email]lowis@swip.net[/email] 19950703
changed: [email]per@swip.net[/email] 20001115
changed: [email]per@swip.net[/email] 20020125
changed: [email]calle@swip.net[/email] 20020909
source: RIPE

person: Jonas Bjornlund
address: Griffel Data
address: Box 437
address: S-351 06 VAXJO
address: SWEDEN
phone: +46 470 723040
fax-no: +46 470 723050
e-mail: [email]jonas@griffel.se[/email]
nic-hdl: JB72-RIPE
changed: [email]lotta@tip.net[/email] 19950918
changed: [email]ip@swip.net[/email] 20000322
source: RIPE

Exempel på data från ARIN (ibm.com:s IP):

[b]OrgName: IBM Corporation [blue]<-- denna rad[/blue][/b]
OrgID: IBMCOR-13
Address: RT 100
City: Somers
StateProv: NY
PostalCode: 10589
Country: US

NetRange: 129.42.0.0 - 129.42.255.255
CIDR: 129.42.0.0/16
NetName: IBM-RSCH-NET2
NetHandle: NET-129-42-0-0-1
Parent: NET-129-0-0-0-0
NetType: Direct Assignment
NameServer: NS.EVENTS.IHOST.COM
NameServer: NS1.EVENTS.IHOST.COM
NameServer: NS2.EVENTS.IHOST.COM
Comment:
RegDate:
Updated: 2000-09-05

TechHandle: ZI22-ARIN
TechName: Role Account
TechPhone: +1-866-373-6714
TechEmail: [email]noc@ibm.com[/email]

# ARIN WHOIS database, last updated 2003-07-21 19:15
# Enter ? for additional hints on searching ARIN's WHOIS database.

Det här gör du med fördel som en komponent som du sedan anropar från din ASP-sida.

Medlem sedan maj 200010 687 inlägg
#7

Eller om man inte vill använda en komponent så gör man bara en XMLHTTP hämtning från http://www.svanstrom.nu/main.php?view=ipwhois&host=213.242.158.43. Och så hoppas man att sgtpepper är snäll och låter en göra det. ;)

Medlem sedan apr. 20007 588 inlägg
#8

Erik Juhlin skrev:

Och så hoppas man att sgtpepper är snäll och låter en göra det. ;)

Självklart, det är bara kul om det man gjort används :). Jag skall nog förresten ta och slänga ihop en funktion som tar en IP-adress och som returnerar ett XML-resultat med intressant info (bl.a företagsnamn) som man kan anropa med t.ex XMLHTTP.

Medlem sedan maj 200010 687 inlägg
#9

Trevligt! :)

Medlem sedan okt. 2002102 inlägg
#10

Grymt !

Tack så väldans mycket för all hjälp. Ska prova lite :)

:birp

Medlem sedan juli 20041 183 inlägg
#11

hur anropar man whois på port 43 då? med en komponent??

Medlem sedan maj 20012 080 inlägg
#12

Följande skript returnerar (vis sökning på webforums IPnummer):

Net number = 193.13.72.0 - 193.13.74.255
Net name = SE-GRIFFEL-NET1
Net Description = Griffel Data AB
Net Country = SE
Net Email = jonas@griffel.se

<%
sSearchOnIp = Request.Form("req_ip_number")
%>

<% if sSearchOnIp <> "" then
subSearchRipe 
end if %>

<%=sSearchOnIp%>

<% sub subSearchRipe %>

<%' REGEXP AV MATTIAS NORDIN
' FÖRSÖKER HÄMTA EN DEL AV INNEHÅLLET PÅ EN ANNAN WEBSIDA. I DETTA FALL [url]http://www.wundersolutions.com/web-hosting/WHOIS/?Domain=81.216.207.135[/url]

myUrl = "http://www.wundersolutions.com/web-hosting/WHOIS/?Domain=" &sSearchOnIp

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", myUrl, False			' Hämtar hela websidan. VAD GÖR FALSE ???
objHTTP.Send
strHTML=objHTTP.responseText				' GÖR EN STRÄNG AV HELA SIDANS SOURCE

Set regExp = New regexp
regExp.Global = false 						' True visar alla. False visar första träffen.
regExp.IgnoreCase = true 					' Bryr sig inte om gemaner/versaler

regExp.Pattern = "inetnum:(.*?)\n"			' Letar efter nätet
Set hittade = regExp.Execute(strHTML)
For each item in hittade
	'Response.Write(item.value)
varNetNumber = right(item.value,len(item.value)-9)
Next%>

<% regExp.Pattern = "netname:(.*?)\n"			' Letar efter nätets namn
Set hittade = regExp.Execute(strHTML)
For each item in hittade
	'Response.Write(item.value)
varNetName = right(item.value,len(item.value)-9)
Next%>

<% regExp.Pattern = "descr:(.*?)\n"			' Letar efter nätets namn
Set hittade = regExp.Execute(strHTML)
For each item in hittade
	'Response.Write(item.value)
varNetDescription = right(item.value,len(item.value)-9)
Next%>

<% regExp.Pattern = "country:(.*?)\n"			' Letar efter nätets namn
Set hittade = regExp.Execute(strHTML)
For each item in hittade
	'Response.Write(item.value)
varNetCountry = right(item.value,len(item.value)-9)
Next%>

<% regExp.Pattern = "e-mail:(.*?)\n"			' Letar efter nätets namn
Set hittade = regExp.Execute(strHTML)
For each item in hittade
	'Response.Write(item.value)
varEmail = right(item.value,len(item.value)-9)
Next%>

<p>Using the [url]www.ripe.net[/url] database...
<p>
<table cellspacing=10>
<tr><td>Net number = </td><td><%=varNetNumber%></td></tr>
<tr><td>Net name = </td><td><%=varNetName%></td></tr>
<tr><td>Net Description = </td><td><%=varNetDescription%></td></tr>
<tr><td>Net Country = </td><td><%=varNetCountry%></td></tr>
<tr><td>Net Email = </td><td><%=varEmail%></td></tr>
</table>
<% end sub %>
<p>

<form method=POST action="ip_lookup_via_ripe.asp" name="lookup">
<input type="text" value="" name="req_ip_number">
<input type="submit" value="Lookup ipnumber">
</form>

PS Vad fint forumet blev DS :)

Medlem sedan juli 20041 183 inlägg
#13

Annars hittade jag ASP-kod som anropar nslookup i operativsystemet... Eller vad man nu skall säga... Den fungerar i alla fall klockrent!! fast det är bara rDNS som hämtas. De andra grejorna får man använda XML.Http till som i ditt förslag...

Förresten, vilka databaser söker den igenom? Alla? Tillåter de att man skriver script på detta sättet? Jag hittade i alla fall inga texter om det :P

Mitt script kräver den del grejor av servern. Läs mer här där jag fick kod och idéer ifrån...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
	'----- Hämtar Reverse DNS
	Function NSLookup(strHost)
		'----- Skapar Shell-objekt
		Set oShell = Server.CreateObject("Wscript.Shell")
		'----- Kör NSLookup via Commando Prompten
		'----- Fråga om adressen och spara i en textfil
		oShell.Run "%ComSpec% /c nslookup " & strHost & ">C:\tempfil.txt",0,true
		
		'----- Öppna den tillfälliga textfilen och läs datan
		Set oFS = Server.CreateObject("Scripting.FileSystemObject")
		Set oTF = oFS.OpenTextFile("C:\tempfil.txt")
		
		'----- Initierar variablar
		strMatch = Null
		Data = Null
		
		'----- Läser datan
		Data = Trim(oTF.ReadAll)
		
		'----- Letar efter rDNS-adressen
		With New RegExp
			.IgnoreCase = True
			.Global = False
			.Pattern = "Name:[^\n]+"
			
			For Each Match In .Execute(Data)
				'----- Hämtar matchningen och tar bort onödiga tecken
				strMatch = Trim(Mid(Match.Value, 6))
				strMatch = Left(strMatch, Len(strMatch)-1)
			Next
		End With
		
		'----- Kontrollerar om det var rDNS adressen som eftersöktes
		'----- eller om man vill slå upp IP adressen från en RDNS-adress
		If strMatch = strHost Then
			'----- Letar efter IP-adressen
			With New RegExp
				.IgnoreCase = True
				.Global = True '----- Tar den sista adressen
				.Pattern = "Address:[^\n]+"
				
				For Each Match In .Execute(Data)
					'----- Hämtar matchningen och tar bort onödiga tecken
					strMatch = Trim(Mid(Match.Value, 9))
					strMatch = Left(strMatch, Len(strMatch)-1)
				Next
			End With
		End If
		
		'----- Stäng textfilen
		oTF.Close
		
		'----- Radera textfilen
		oFS.DeleteFile "C:\tempfil.txt"
		
		'----- Stäng alla objekt
		Set oFS = Nothing
		Set oTF = Nothing
		
		If IsNull(strMatch) = False Then
			NSLookup = strMatch
		Else
			NSLookup = "Felaktig IP - <i>Kunde inte läsa rDNS för " & strHost & "</i>"
		End If
	End Function
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>rDNS by Christoffer Lilja</title>
</head>

<body style="font-family:'Courier New', Courier, mono; ">
<%
strRadbrytningar = "<br>" & vbCrLf & "<br>" & vbCrLf
strEnkelradbrytning = "<br>" & vbCrLf

'----- En IP-adress
Response.Write("<b>IP -> rDNS</b><br>" & vbCrLf)
strHost = Request.ServerVariables("REMOTE_ADDR")
strRDNS = NSLookup(strHost)
Response.Write(strRDNS & strRadbrytningar)

'----- En rDNS-adress (från förra IP-adressen
Response.Write("<b>rDNS -> IP</b><br>" & vbCrLf)
strHost = "www.webforum.nu"
strRDNS = NSLookup(strRDNS)
Response.Write(strRDNS & strRadbrytningar)

'----- Ett domännamn
Response.Write("<b>Domännamn -> rDNS</b><br>" & vbCrLf)
strHost = "www.webforum.nu"
strRDNS = NSLookup(strHost)
Response.Write(strRDNS & strRadbrytningar)

'----- En IP från en rDNS
Response.Write("<b>rDNS -> IP</b><br>" & vbCrLf)
strHost = "wf1.webforum.nu"
strRDNS = NSLookup(strHost)
Response.Write(strRDNS & strRadbrytningar)

'----- En URL från en IP
Response.Write("<b>IP -> URL</b><br>" & vbCrLf)
strHost = "193.13.74.84"
strRDNS = NSLookup(strHost)
Response.Write(strRDNS & strRadbrytningar)

'----- Felaktig adress
Response.Write("<b>Felaktig adress</b><br>" & vbCrLf)
strHost = "81.231.999.999"
strRDNS = NSLookup(strHost)
Response.Write(strRDNS & strRadbrytningar)
%>
</body>
</html>
3277 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
426 ms — deklarationer (db)
0 ms — hämta statistik (cache)
2838 ms — hämta tråd, inlägg och bilagor (db)
429 ms — ändringar (db)