IP-Adresse, Einwahlnummer und Provider herausfinden

D

DEDEX7200Pro

Hallo tutorials.de,
ich habe folgenden Script auf meiner Homepae eingebaut:

Code:
<?php 
$remotehost = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$pro = gethostbyaddr($_SERVER['REMOTE_ADDR']);
	if ($pro >= dip.t-dialin.net){ 
       $provider = "Dt. Telekom"; 
       } 
elseif ($pro >= hsi.kabelbw.de){ 
       $provider = "Kabel BW"; 
       } 
  else { 
       $provider >= "noch nicht bekannt"; 
       }  		   
	   
echo "<p>Ihre IP-Adresse lautet: " . $_SERVER['REMOTE_ADDR'] . ". Ihre Einwahlnummer ist: " . $remotehost . ". Ihr Internetanbieter ist: " . $provider . "</p>";
?>

Die IP-Adresse und die Einwahlnummer funktionieren ohne Probleme. Jezt habe ich das Problem, dass ich permanent als Internetanbieter "dt. Telekom" angezeigt bekomme, auch wenn die Einwahlnummer eine Kabel-BW Nummer ist. Wie kann ich das ändern?
 
Ich versteh deine Vergleiche nicht. Da müssen doch einfach String-Vergleiche hin.

PHP:
if ($pro == "dip.t-dialin.net"){ 
       $provider = "Dt. Telekom"; 
       } 
elseif ($pro == "hsi.kabelbw.de"){ 
       $provider = "Kabel BW"; 
       } 
  else { 
       $provider = "noch nicht bekannt"; 
       }
 
Ich versteh deine Vergleiche nicht. Da müssen doch einfach String-Vergleiche hin.

PHP:
if ($pro == "dip.t-dialin.net"){ 
       $provider = "Dt. Telekom"; 
       } 
elseif ($pro == "hsi.kabelbw.de"){ 
       $provider = "Kabel BW"; 
       } 
  else { 
       $provider = "noch nicht bekannt"; 
       }

So einfach ist das nicht $pro gibt etwa sowas aus
p4FE97728.dip.t-dialin.net tcom bsp
dslb-088-066-126-156.pools.arcor-ip.net arcor usw..

man müsste also anhand der letzten zeichen die inerhalb der "Punkte" stehen unterscheiden

.dip.t-dialin.net

wäre jetzt mein Denkansatz

mfg Spikaner
 
Oder so in etwa ;)
PHP:
<?php 
$remotehost = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$pro = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$pro1 = strstr($pro, '.');
	if ($pro1 == '.dip.t-dialin.net'){ 
       $provider = "Dt. Telekom"; 
       } 
elseif ($pro1 == '.hsi.kabelbw.de'){ 
       $provider = "Kabel BW"; 
       }
elseif ($pro1 == '.pools.arcor-ip.net'){ 
       $provider = "ARCOR"; 
       }  
  else { 
       $provider = "noch nicht bekannt"; 
       }  		   
	   
echo "<p>Ihre IP-Adresse lautet: " . $_SERVER['REMOTE_ADDR'] . ". Ihre Einwahlnummer ist: " . $remotehost . ". Ihr Internetanbieter ist: " . $provider . "</p>";
?>

mfg Spikaner

Edit: Das Beispiel funktioniert soweit ganz gut, bis auf Leute mit WLAN..
Bei einer bekannten mit wlan + t-com kommt folgendes: "Ihre IP-Adresse lautet: 84.. Ihre Einwahlnummer ist: p5.dip0.t-ipconnect.de. Ihr Internetanbieter ist: noch nicht bekannt"
klar die Fehlermeldung, aber wiso hat ein WLAN ".dip0.t-ipconnect.de" ,kann diese Frage jemand beantworten ?
 
Zuletzt bearbeitet:
Das Beispiel funktioniert soweit ganz gut, bis auf Leute mit WLAN..
Bei einer bekannten mit wlan + t-com kommt folgendes: "Ihre IP-Adresse lautet: 84.. Ihre Einwahlnummer ist: p5.dip0.t-ipconnect.de. Ihr Internetanbieter ist: noch nicht bekannt"
klar die Fehlermeldung, aber wiso hat ein WLAN ".dip0.t-ipconnect.de" ,kann diese Frage jemand beantworten ?
Ich glaube nicht, dass das etwas mit dem verwendeten WLAN zu tun hat.
Der Provider kann es einer Seits nicht nachvollziehen, wie die Verbindung mit deren Dienst hergestellt wird. Anderer Seits ist ihm das auch vollkommen Wurscht. ;)

Ich denke eher das ist Zufall, dass ausgerechnet bei ihr auch eine solche Meldung kommt. Oder hast du es bei ihr mit einem Kabel ausprobiert und die üblichen Werte erhalten?

Das würde mich dann doch sehr stark wundern. :confused:
 
Habe jetzt ein wenig :google: und bin auf das gestosen.

Der Unterschied zwischen T-Dialin.net und T-Ipconnect.de Hostnames ist einfach nur welcher Provider ihn benutzt.

T-Dialin.net => T-Online
T-IpConnect.de => Andere Provider die den T-Com Backbone nutzen

jetzt muß sich es nur noch bewahrheiten , dann wäre ich glücklich ;)

mfg Spikaner
 
Zurück