# Anschluss anhand der IP-Adresse herausfinden



## Ingolo (9. April 2006)

Hi,

ich wollte mal fragen ob man mit php oder sowas ein script scripten kann das auch den anschluss des nutzers rausfindet. Man kann ja durch die aktuelle ip durch tracing rausfinden wie der anschluss desjenigen ist, aber wie funktioniert das?


----------



## Gumbo (9. April 2006)

Mit der gethostbyaddr()-Funktion kann der Host-Name zur angegebenen IP-Adresse ermittelt werden. Ist es das was du suchst?


----------



## Ingolo (9. April 2006)

Muss ich erst testen, kann schon sein.


----------



## Ingolo (9. April 2006)

Wie realisiere ich es wenn ich in ein feld eine ip adresse eingebe, das er mir dann die anschlusskennung ausgibt? (umsetzung mit html ist mir klar)


----------



## Gumbo (9. April 2006)

Übergib den eingegebenen Wert einfach der gethostbyaddr()-Funktion als Parameter – wo ist das Problem?


----------



## Ingolo (9. April 2006)

? Ich mein das so.

Angenommen meine ip ist: 11.11.1.1 und die eines anderen ist 22.22.2.2. Meinen Anschluss weiß ich, den könnte ich ja dann so herausfinden:


```
<?
$anschluss = gethostbyaddr();
echo $anschluss;
?>
```

herausfinden.

Ich möchte aber den anschluss von dem 22.22.2.2 herausfinden, also erstell ich ein input-eingabetextfeld in die man die ip eingeben kann. Bei klick auf dem button findet er den anschluss raus.
Nur, wie ist dies möglich?

P.S.: Ich plane eine service-seite zu machen in der alle informationen wie IP, Anschlusskennung, Land, Browser, Betriebsystem und so weiter herauszufinden sind. Das soll für Foren-administratoren und anderen nutzern einen Gebrauch finden. Mir fehlts halt nur noch an der anschlusskennung.


----------



## Gumbo (9. April 2006)

Ich habe dir doch bereits die Lösung geboten:





			
				Gumbo hat gesagt.:
			
		

> Übergib den eingegebenen Wert einfach der gethostbyaddr()-Funktion als Parameter […]


----------



## Ingolo (9. April 2006)

Tut mir leid aber soweit bin ich in PHP noch nicht.   Das versteh ich leider noch nicht so ganz! Was soll ich übergeben? Das REMOTE_ADDR?


----------



## Dr Dau (9. April 2006)

Hallo!

Du willst doch wohl nicht an Hand der IP den Hausanschluss des Users ermitteln?
Diese Informationen sind, soweit ich weiss, allein dem Provider und ggf. den Strafverfolgungsbehörden (unter Mitwirkung des Providers) vorbehalten.
Auch das Land, der Browser, das Betriebssytem usw., lässt sich nur bedingt ermitteln.
So könnte der User z.b. hinter einem Proxy stecken, wodurch diese Informationen u.U. nicht übermittelt werden.
Dann würdest Du evtl. Informationen über den Proxy bekommen der irgendwo im tiefstem schwarzen Afrika im Urwald steht, der User aber evtl. auf der anderen Strassenseite wohnt.
Der Browser hat noch ein besonderen Status, so können sich einige Browser als etwas anderes ausgeben als sie tatsächlich sind.
Einer meiner zahlreichen Browser gibt sich z.b. als UserAgent "not4you " aus.  

Was verstehst Du denn an gethostbyaddr() nicht?
Das Beispiel sagt doch eigentlich alles.

$_SERVER['REMOTE_ADDR'] gibt vom dem die IP zurück, von dem die Seite/das Script aufgerufen wurde.
Wenn ich also Deine Seite aufrufe, musst Du den Wert den $_SERVER['REMOTE_ADDR'] über mich ermittelt hat, in irgend einer Form speichern.


Gruss Dr Dau


----------



## Ingolo (9. April 2006)

Kann ich das nicht gleich weiter verwenden ohne zu speichern?

Wie sähe das den aus wenn ich diese anschlusskennung herausfinden möchte und mit echo ausgeben?



> Du willst doch wohl nicht an Hand der IP den Hausanschluss des Users ermitteln?
> Diese Informationen sind, soweit ich weiss, allein dem Provider und ggf. den Strafverfolgungsbehörden (unter Mitwirkung des Providers) vorbehalten.



Stimmt so nicht ganz. Man kann mit der IP den anschluss schon heraufinden. Der lautet dann so wie on038572902.t-online.de oder so ähnlich. Selbst kann man nur nicht die benutzerdaten wie straße hausnummer oder name herausfinden, dies ist dann nur mit einem richterlichen beschluss möglich.


----------



## Big-Daddy-S (9. April 2006)

Das wäre viel leicht auch interesant!http://www.gulli.com/tools/anonymitaetscheck/


----------



## Dr Dau (9. April 2006)

Wenn es automatisiert weiter verarbeitet wird, dann ja..... aber auch dann müsstest Du das (End-)Ergebins speichern (wie willst Du sonst an die Informationen kommen).

Ich sage doch, das Beispiel sagt eigentlich alles.....

```
<?php
echo gethostbyaddr("22.22.2.2");
?>
```
gethostbyaddr() gibt aber nicht die Anschlusskennung wieder, sondern den vom Provider vergebenen Hostnamen.
Dieser Hostname ist im grunde nichts anderes wie die IP, nur halt (unter Umständen) leichter zu merken.
So hat z.b. die IP 193.28.88.250 den Hostnamen www.tutorials.de. 
Beides sagt jedoch erstmal überhaupt nichts über den Standort aus.
Theoretisch könnte der Standort ja täglich gewechselt werden, dann hätte der Hostname aber mit recht grosser Wahrscheinlichkeit auch eine andere IP.

Unter Anschlusskennung verstehe ich etwas anderes, z.b. die Anschlusskennung die man von T-Online bekommt..... diese ist an den Kunden (also dessen Telefonanschluss) gebunden.
Daher meine Frage, ob Du mit Anschlusskennung den Hausanschluss (Telefonanschluss) meinst.

@Big-Daddy-S, wie gesagt, diese Informationen kann man u.U. auch "verschleiern".


----------



## Johnnii360 (12. April 2006)

Ich möchte dem Thema gerne was anhänge.

Und zwar:

Wie kann ich anhand der Hostadresse den Provider ermitteln und dann anschliessend ausgeben?

Wenn ich die Hostadresse nun mit explode() anhand des Punkts zerlege, dann ist der Aufwand einfach zu gross, zumal auch eine menge Arrayvariablen nötig sind.


----------



## Dr Dau (12. April 2006)

@-Johnny-
Den Provider an Hand des Hostnamens ermitteln, wird nur bedingt funktionieren.
Bei T-Online und AOL z.b. dürfte es klar sein.
Jedoch ist der Hostname nicht wirklich an den Provider gebunden.
So könne z.b. T-Online seinen Hostnamen jederzeit in z.b. t-bloed.de  ändern.
Somit ist es auch denkbar dass es Provider gibt, die irgend einen Hostnamen verwenden, der rein garnichts mit dem Firmennamen zu tun hat.
Ich würde also den Provider eher an Hand der IP ermitteln.
Jeder Provider hat ein bestimmten Pool an IP's.
Nur müsste man erstmal irgendwie in Erfahrung bringen, welcher Provider welche IP's hat.  
Diese Daten hinterlegst Du dann in einer Datenbank und prüfst zu welchem Pool die mitgelogte IP passt.

Ich weiss jetzt nicht ob es bei explode() war, aber es gibt auch die Möglichkeit die Punkte von hinten nach vorne zu zählen.
Somit könntest Du die Länderkennung und den Hostnamen aus dem gesamten String rausfiltern.
Dazu kann Dir Gumbo aber sicherlich mehr sagen.


----------

