[PHP] whois domeincheck

Pagina: 1
Acties:
  • 347 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Nou wil ik dus een domeinchecker op mijn website planten. Maar om te testen, werkte het volgende niet, omdat Safe Mode aan staat (ik kan php.ini niet aanpassen, als ik het goed begrijp kan dit ook niet met .htaccess):
PHP:
1
2
3
error_reporting(E_ALL);
$output = shell_exec('fwhois voorbeeld.nl@whois.domain-registry.nl');
echo $output;

Nou, verder zoeken dan maar. Op SourceForge een mooi 'project' gevonden PHPWhois. Werkt op zich heel goed, maar:

a) ik hoef alleen maar te weten of een domein beschikbaar is of niet (ik kan een bepaald item uit die arrays halen en dan gaat het ook wel, maar waarom meer doen dan nodig is);
b) bij de SIDN server kan dit maximaal 15 keer per dag

Probleem is dus eigenlijk dat ik dit script niet zover kan ontleden, zodat het alleen nog doet wat ik wil. n00bish :|

Als laatste heb ik nog dit script gevonden (op GoT):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function whois($server,$domein,$ext){ 
    $domein = $domein."$ext"; $data = "";     
    $fp = fsockopen($server, 43); 
    if($fp){
        if ($ext == ".nl"){ fputs($fp, "is $domein \r\n"); }
        else { fputs($fp, $domein."\r\n"); }
        while(!feof($fp)){ $data.=fread($fp,1000); } 
        fclose($fp); 
    } else { $data = "Error, can't open connection"; } 
    return $data; 
}
$result = whois("whois.nic.nl", "voorbeeld", "nl");
echo $result;

Maar dit geeft telkens "cannot connect" of time outs (met allerlei servers/extensies).

Kan iemand mij verder helpen?

Acties:
  • 0 Henk 'm!

Anoniem: 23998

Wat voor OS draait er op de server? UNIX-like of WINDOWS?

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Anoniem: 23998 schreef op 10 februari 2004 @ 22:18:
Wat voor OS draait er op de server? UNIX-like of WINDOWS?
Linux :)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Wat ik zelf gebruik als snelle controle is het commando `dig`. Dit voorkomt ook dat je door je limiet van 15 whois-queries per dag heen zou gaan :)

Dit is dus geen sluitende controle!

[ Voor 10% gewijzigd door Spider.007 op 10-02-2004 22:30 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Errmmm.. het moet dus wel in PHP gebeuren, terwijl safe mode aan staat. Dit is wat ik op php.net kan vinden, maar hier kan ik niet echt veel mee:
Note: When safe mode is enabled, you can only execute executables within the safe_mode_exec_dir. For practical reasons it's currently not allowed to have .. components in the path to the executable.
ik hoopte een beetje op iets met mijn laatste probeersel in TS

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Nou heb ik onderstaand script werkend, maar ook dit valt onder de 'max. 15 requests a day'-restrictie voor .nl domeinen. Nou ja, weten we dat ook weer..
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
error_reporting(E_ALL);
function lookup_domain($server,$domain,$ext){ 
    $domain = $domain.".".$ext; 
    $data = ""; $fp = fsockopen($server, 43); 
    if($fp){ 
        fputs($fp, $domein."\r\n");
        while(!feof($fp)){ $data. = fgets($fp,128); } 
        fclose($fp); 
    } else { $data = "Error, can't open connection"; } 
    return $data; 
}
$result = lookup_domain("whois.domain-registry.nl", "test", "nl");
echo $result;
ik probeer nog wel even wat met shell_exec-achtige dingen, ondanks dat Safe Mode aan staat, anders vrees ik het ergste..

Acties:
  • 0 Henk 'm!

  • DR
  • Registratie: December 2000
  • Niet online

DR

http://nl.php.net/manual/en/function.checkdnsrr.php

zou maybe kunnen ipv dig te exece?

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
hey bedankt! lijkt goed te werken :)

puur checken of een domein bestaat en lekker snel - geeft alleen niet weer of een domein geregistreerd is of niet, maar dat is IMHO een overlapping van 99%
PHP:
1
2
error_reporting(E_ALL);
if(checkdnsrr("microsoft.com")) echo "record(s) found"; else echo "no record(s) found";
of zie ik iets over het hoofd? want deze oplossing ben ik nog niet eerder tegengekomen.. misschien toch niet "nauwkeurig" genoeg?

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik heb al een hele tijd lopen zoeken.. maar kan niet precies vinden hoe een DNS request valt te emuleren met een plain sessie naar een DNS server? Als je een DNS request naar je DNS server zou kunnen namaken in PHP dan zou dat een goede vervanging moeten kunnen zijn. Doh.. ik heb de functie 'checkdnsrr' gisteren nog bekeken; en nu alweer vergeten..

[ Voor 15% gewijzigd door Spider.007 op 11-02-2004 11:03 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
toch bedankt voor de moeite! i appreciate that

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

X-Lars schreef op 11 februari 2004 @ 11:04:
toch bedankt voor de moeite! i appreciate that
:) Overigens kun je je script natuurlijk nog nauwkeuriger maken door wel een whois uit te voeren als checkdnsrr returned dat er geen entry zou zijn. Je zou dan de volle 100% coveren met een minimum aan whois queries :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
goed plan, tnx again :)
ik post het script wel als ik het af heb, wil namelijk een aardig uitgebreide check kunnen uitvoeren, met meerdere extensies enzo. zal verder geen problemen opleveren denk ik.

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

X-Lars schreef op 11 februari 2004 @ 11:13:
goed plan, tnx again :)
ik post het script wel als ik het af heb, wil namelijk een aardig uitgebreide check kunnen uitvoeren, met meerdere extensies enzo. zal verder geen problemen opleveren denk ik.
No problem :)

Voordat je een complete WHOIS tool gaat maken; je kunt eens kijken naar de GeekTools WHOIS proxy; of anders de meest recente configuratiefile hiervoor; daar staan alle TLD's in met whois server :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 16:08
Zet trouwens wel het query type op SOA of ANY, een domein hoeft niet per se een MX (daar wordt standaard op gezocht) of A record te hebben.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 17-06 15:49

Bosmonster

*zucht*

PHP:
1
2
3
4
5
<form method="GET" action="http://www.sidn.nl/sidn/flat/Domeinnamen/Is_de_naam_nog_vrij_/index.shtml" target="_blank">
<input type="hidden" name="uitgebreid" value="CHECKED">
<input type="text" name="domein" maxlength="255">
<input type="submit" value="SIDN">
</form>


Voor de NL domeinen kun je ook gewoon een losse box maken (zoals hierboven). Deze doet automatische een uitgebreide check op SIDN. Voordeel is dat je zo geen last hebt van de max 15, want mensen kijken vanaf hun eigen IP. En ze hebben direct de volledige informatie ipv alleen beschikbaar ja/nee (want in het geval van nee willen ze 9 van de 10x toch ook zien wie hem dan wel heeft :P).

[ Voor 5% gewijzigd door Bosmonster op 11-02-2004 11:24 ]


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Nou, ik heb wat in elkaar geflanst hoor :) Dank voor alle hulp so far!

It's still BETA!! hij checkt alleen maar of de string (bv. 'No match for') uit tlds.lst voorkomt in de data die van de server terug komt, ik denk dat dat preciezer zal moeten, deze string zou voor kunnen komen in de (raw) data van een geregistreerd domein.

werking is te zien op domaintest.php
code kun je zien op domaintest.phps
de gebruikte TLDS staan op tlds.lst

je moet nog wel alleen ff een domein zonder extensie invullen, heb hier nog geen validatie op zitten. en alle checkboxes moeten in 1x keer aan/uit kunnen, wist niet uit m'n hoofd hoe.

de checkboxes om extensies te kiezen worden automagisch middels tlds.lst gemaakt, dus je hoeft alleen maar tlds.lst aan te passen, mocht je meer/minder extensies willen.

en voor .nl domeinen: door eerst de DNS check uit te voeren, bespaar je whois-queries en er komt een link op naar SIDN.nl in geval van 'domein is niet beschikbaar' ter extra controle (mocht je dus query 15+ uitvoeren) (zie Bosmonster just above me) - trouwens op elke extensie komt een soort van 'see raw data' optie.

en ermmm.. 'co.uk' doet het niet.. ligt aan de dot in de extensie natuurlijk, ff fixxen

[ Voor 17% gewijzigd door X-Lars op 20-12-2004 09:38 . Reden: Links verwijderd ]


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

De sourcecode ziet er netjes uit :) Je kunt ook gebruik maken van deze lijst met TLDs :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Bubbaman
  • Registratie: Juli 2003
  • Laatst online: 20-03-2022
Ik heb ooit eens zoiets geschreven als functie (aanroepen met whois("domeinnaam.tld").
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function whois($domeinnaam)
{ 
  $fp = fsockopen ("www.geektools.com", 43, $errnr, $errstr, 30) or die("$errno: $errstr");
  fputs($fp, "$domeinnaam\r\n");
  while (!feof($fp))
    echo fgets($fp, 2048);
    fclose($fp); 
}
If (isset ($domeinnaam)){
  echo "      <pre>";
  echo (whois($domeinnaam));
  echo "      </pre>";
}


Dus niet alleen voor .nl.....

Acties:
  • 0 Henk 'm!

  • Tomsworld
  • Registratie: Maart 2001
  • Niet online

Tomsworld

officieel ele fan :*

Heb je het volgende al gelezen er bestaat bij whois een zogenaamde is functie. Die heeft geen last van de beperking van 15 keer.

whois -h whois.domain-registry.nl 'is nietgeregistreerd.nl'

Meer uitleg: http://www.domain-registr...hois_opvragen_/index.html

Meeste landen hebben dit.

"De kans dat een snee brood op een nieuw tapijt valt met de beboterde zijde onderaan, is recht evenredig met de prijs van het tapijt"


Acties:
  • 0 Henk 'm!

  • sjokki
  • Registratie: Juli 2002
  • Niet online
Het probleem met het maximum van 15 adressen per dag kan je oplossen door "is hostname.nl" in plaats van alleen "hostname.nl" op te sturen naar de whois-server. De SIDN staat alleen 15 queries per dag toe om de persoonsgegevens te beschermen, maar met een is-query krijg je alleen te zien of het domein actief is of niet en hoeven er dus geen persoonsgegevens beschermd te worden.
code:
1
2
3
4
5
6
7
[sjokki@sjokki]% telnet whois.domain-registry.nl 43
Trying 193.176.144.134...
Connected to whois.domain-registry.nl.
Escape character is '^]'.
is tweakers.nl
tweakers.nl is active
Connection closed by foreign host.

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
@Spider.007: ik had je lijst wel gezien hoor :) ik had een andere, waar die zoekstrings ook in staan (http://www.mattsscripts.co.uk/mwhois.htm) en gestript, want ik hoef echt niet al die andere extensies erbij te zien

@Bubbaman: jouw functie doet in principe niets anders dan het mijne hoor (edit: ik zie nu dat je gebruik maakt van geektools.com - ik zal ff kijken hoe dat zit)

@Tomsworld & sjokki: als je de TS leest, zie je dat ik met de beperking Safe mode = ON moet werken

[ Voor 12% gewijzigd door X-Lars op 11-02-2004 19:24 ]


Acties:
  • 0 Henk 'm!

  • sjokki
  • Registratie: Juli 2002
  • Niet online
X-Lars schreef op 11 februari 2004 @ 19:21:@Tomsworld & sjokki: als je de TS leest, zie je dat ik met de beperking Safe mode = ON moet werken
Die telnet-sessie kan je ook wel met fsockopen implementeren hoor. Ik had alleen geen zin om PHP te schrijven. Je hoeft alleen "is " toe te voegen aan de regel met fputs.

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
@Bubbaman: geektools.com werkt op de één of andere manier met restricties, alhoewel hij wel resultaten lijkt te blijven geven. maar niet 100% betrouwbaar IMHO

@sjokki: sorry, je hebt helemaal gelijk, ik was iets te snel met mijn antwoord. jij hebt mijn probleem wat betreft .nl TLD's eigenlijk opgelost. dank u :)

het lijkt aardig te werken nu :Y)
for those interested: voorbeeld/codes staan hierboven wel ergens

Acties:
  • 0 Henk 'm!

  • scubapro
  • Registratie: September 2000
  • Laatst online: 21-11-2022
Zelf gebruik ik whois.networksolutions.com om de .com / .net / .org te controleren. Deze heeft echter het nadeel dat ie na 75 queries per dag niet meer werkt.

Is dat bij whois.crsnic.net en whois.publicinterestregistry.net ook zo of kun je onbeperkt queries uitvoeren?

Je bent pas echt lui als je het gemak niet zoekt.


Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 16-06 09:56

igmar

ISO20022

Bosmonster schreef op 11 februari 2004 @ 11:24:
Voor de NL domeinen kun je ook gewoon een losse box maken (zoals hierboven). Deze doet automatische een uitgebreide check op SIDN. Voordeel is dat je zo geen last hebt van de max 15,
Als je alleen wil zien of een domein is geregistreerd ja of nee, kun je de whois is functie gebruiken. Deze kun je op de WHOIS server van nic.nl onbeperkt gebruiken. Deze functie is echter wel beperkt tot .nl domeinen, op andere WHOIS servers heb ik dit (helaas) nog niet zien werken.
want mensen kijken vanaf hun eigen IP. En ze hebben direct de volledige informatie ipv alleen beschikbaar ja/nee (want in het geval van nee willen ze 9 van de 10x toch ook zien wie hem dan wel heeft :P).
Totdat dit vanwege het misbruik ook gelimiteerd gaat worden, en dat zie ik wel gaan gebeuren.

[ Voor 10% gewijzigd door igmar op 18-02-2004 20:30 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 17-06 18:10
Totdat dit vanwege het misbruik ook gelimiteerd gaat worden, en dat zie ik wel gaan gebeuren.
Ik niet, dan zou niemand meer een domein kunnen registreren omdat ze niet weten of het wel vrij is.

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 16-06 09:56

igmar

ISO20022

djluc schreef op 18 februari 2004 @ 21:45:
Ik niet, dan zou niemand meer een domein kunnen registreren omdat ze niet weten of het wel vrij is.
Ik heb het over een groot aantal queries vanaf 1 IP. Via de webinterface is dit (nog) niet geblokkeerd, maar ook hier gaan stemmen op om ook dit te restricten.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 17-06 18:10
Daar gaat het toch niet om, het ip-adres van de cliënt wordt gebruikt...

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 17-06 20:51
check www.phpwhois.com .. dat is de tool die ik gebruik om domain info op te zoeken, of om de info van een ip op te zoeken (hij pakt automagisch de goede db hiervoor).

Hope this helps ;)
Pagina: 1