Avatar billede tolveren Nybegynder
23. august 2006 - 23:03 Der er 33 kommentarer og
1 løsning

Whois og port 43

Jeg leder efter noget hjælp til lookup på port 43 hos DK-hostmaster. Jeg har fundet noget på spørgsmål nr 645968. Egentlig lige det jeg skal bruge, men det virker ikke.
Jeg har fundet dette script:
<form method="post">
Domæne: <input type="text" name="DomainToTest">
<input type="submit" name="SubmitButton" value="Test">
</form>

<%
function doWhois(Domain, Scope)
    Domain = LCase(Domain)

    Response.Write "[" & Domain & "]<br"

    Host = "whois.dk-hostmaster.dk"
    SearchStr = "# No entries found for the selected source."  ' "No entries found"

    set Socket = Server.CreateObject("Socket.TCP")
    Socket.Host = Host & ":43"
    Socket.Open
    Socket.SendLine(Domain)
    Socket.WaitForDisconnect
    Result = Socket.Buffer
    Socket.Close

    if Scope = "short" then
        doWhois = InStr(Result, SearchStr)  ' =0: domain already exist, >0: domain is free for register
    else
        doWhois = Result
    end if

    set Socket = Nothing
end function

If Request.Form("SubmitButton") = "Test" Then
    DomainToTest = Request.Form("DomainToTest")

    Resp = doWhois(DomainToTest, "full")
    If Resp <> "" Then
        Response.Write "<pre>"
        Response.Write Resp
        Response.Write "</pre>"
    End If
End If
%>
,,,,,,,,,,,,,,,
Det virker bare ikke mere. Kan hostmaster have ændret på porten eller er
Host = "whois.dk-hostmaster.dk"
ændret ? Er der mon nogen der ved noget om dette emne ?
Avatar billede tolveren Nybegynder
23. august 2006 - 23:10 #1
Jeg har fundet dette på dkhostmaster:

Nye whois-muligheder
Nedenstående ændringer gælder primært whois på whois.dk-hostmaster.dk port 43/tcp.
Bruger-id/handles kan igen ses
Hvis du ikke laver et opslag direkte på et bruger-id/handle, men istedet på et domæne eller en navneserver skal --show-handles angives som argument for at de tilhørende handles vises.

De fleste whois-klienter kan ikke lide ekstra argumenter, men det kan du omgå ved fx at lave hele din whoisforespørgsel sådan her fra Unix:
whois -h whois.dk-hostmaster.dk " --show-handles difo.dk"

Bemærk det ekstra mellemrum mellem gåseøjnene og det første minus.

Navneservere
Det er nu også muligt at lave en whois på en navneserver. Du skal angive navnet på navneserveren og ikke IP-adressen.

Domain-status
Det er muligt at se et domænes status. Der benyttes 3 stati:
- Reserved: Ordren på bestillingen af domænet er endnu ikke accepteret (tidligere kendt som manglende aktivering).
- Active: Domænet er aktivt.
- Deactivated: Navneservice for domænet er deaktiveret af DK Hostmaster efter at have være aktiv.
Avatar billede nielle Nybegynder
23. august 2006 - 23:37 #2
Server og host er stadig de samme, men svaret har ændrede sig siden at jeg skrev den der kode.

Du skal rette:

SearchStr = "# No entries found for the selected source." 

- til:

SearchStr = "No entries found for the selected source."
Avatar billede nielle Nybegynder
23. august 2006 - 23:42 #3
Og, med "svaret" mener jeg den svarbesked man får fra dk-hostmaster.

Du kan selv se svaret ved at give den noget andet end parameteren "short" på 2. plads:

Response.Write doWhois("eksperten.dk", "noget andet end short")
Avatar billede tolveren Nybegynder
24. august 2006 - 09:44 #4
Hej nielle. Tusind tak for hjælpen. Jeg tester lige i aften og så får du en ny kommentar.
Avatar billede tolveren Nybegynder
24. august 2006 - 17:49 #5
Hej nielle,
jeg har nu testet og det vil ikke virke. Jeg har talt med min udbyder. De siger at sockets virker på mit windows hotel. Kan jeg lokke med dig. Vil du teste eller give mig en test-streng så jeg kan se om sockets virker.
Avatar billede nielle Nybegynder
24. august 2006 - 19:12 #6
Jeg har desværre ikke adgang til en ASP-installation lige i øjeblikket, men jeg har testet fra en lille C# applikation her hos mig. Det er den rigtige host, den rigtige port, og de svare sådan her:

===== Domænet findes =====

# Hello aaa.bbb.ccc.ddd. Your session has been logged.<br>
#<br>
# Copyright (c) 2002 - 2006 by DK Hostmaster A/S<br>
# <br>
# The data in the DK Whois database is provided by DK Hostmaster A/S<br>
# for information purposes only, and to assist persons in obtaining<br>
# information about or related to a domain name registration record.<br>
# We do not guarantee its accuracy. We will reserve the right to remove<br>
# access for entities abusing the data, without notice.<br>
# <br>
# Any use of this material to target advertising or similar activities<br>
# are explicitly forbidden and will be prosecuted. DK Hostmaster A/S<br>
# requests to be notified of any such activities or suspicions thereof.<br>
<br>
Domain:              eksperten.dk<br>
DNS:                  eksperten.dk<br>
Registered:          1998-11-13<br>
Expires:              2006-12-31<br>
Registration period:  1 year<br>
VID:                  no<br>
Status:              Active<br>
<br>
Nameservers<br>
Hostname:            ns.locuples.com<br>
Hostname:            ns2.locuples.com<br>
Hostname:            ns3.dnsadmin.dk<br>
<br>
# Use option --show-handles to get handle information.<br>
# Whois HELP for more help.<br>
<br>

===== Domænet findes =====

- når man spørger på noget som findes, og sådan:

===== Domænet findes ikke =====

# Hello aaa.bbb.ccc.ddd. Your session has been logged.<br>
#<br>
# Copyright (c) 2002 - 2006 by DK Hostmaster A/S<br>
# <br>
# The data in the DK Whois database is provided by DK Hostmaster A/S<br>
# for information purposes only, and to assist persons in obtaining<br>
# information about or related to a domain name registration record.<br>
# We do not guarantee its accuracy. We will reserve the right to remove<br>
# access for entities abusing the data, without notice.<br>
# <br>
# Any use of this material to target advertising or similar activities<br>
# are explicitly forbidden and will be prosecuted. DK Hostmaster A/S<br>
# requests to be notified of any such activities or suspicions thereof.<br>
<br>
No entries found for the selected source.<br>

===== Domænet findes ikke =====

- når man spørger på et domæne som ikke findes (her spurgte jeg på nada_nada_eksperten.dk).
Avatar billede nielle Nybegynder
24. august 2006 - 19:13 #7
Må jeg spørge hvordan du forsøger når du kalder funktionen?
Avatar billede tolveren Nybegynder
24. august 2006 - 19:20 #8
Jeg skriver i formen f eks:  eksperten.dk og så klikker jeg på test-knappen
Avatar billede tolveren Nybegynder
24. august 2006 - 19:29 #9
Jeg har også forsøgt mig med: http://www.eksperten.dk/spm/377359
og der ændrede jeg til: "No entries found for the selected source."
Så var hul igennem. Jeg fik dog ikke alle oplysningerne med ud. Jeg fik medd om at der skulle anvendes "handles" for at få flere data.
Avatar billede tolveren Nybegynder
24. august 2006 - 19:30 #10
Jeg er dog mere interesseret i dit script fremfor http://www.eksperten.dk/spm/377359
Avatar billede nielle Nybegynder
25. august 2006 - 08:10 #11
> Jeg skriver i formen f eks:  eksperten.dk og så klikker jeg på test-knappen

Jeg vil da hellere have at vide hvordan din ASP-kode ser ud.

Og, jeg vil også gerne vide hvad du får hvis du skriver:

Response.Write doWhois("eksperten.dk", "noget andet end short")
Avatar billede tolveren Nybegynder
25. august 2006 - 19:20 #12
Her er asp koden:

<form method="post">
Domæne: <input type="text" name="DomainToTest" size="20">
<input type="submit" name="SubmitButton" value="Test">
</form>

<%
function doWhois(Domain, Scope)
    Domain = LCase(Domain)

    Response.Write "[" & Domain & "]<br"

    Host = "whois.dk-hostmaster.dk"
    SearchStr = "No entries found for the selected source."

    set Socket = Server.CreateObject("Socket.TCP")
    Socket.Host = Host & ":43"
    Socket.Open
    Socket.SendLine(Domain)
    Socket.WaitForDisconnect
    Result = Socket.Buffer
    Socket.Close

    if Scope = "short" then
        doWhois = InStr(Result, SearchStr)
    else
        doWhois = Result
    end if

    set Socket = Nothing
end function

If Request.Form("SubmitButton") = "Test" Then
    DomainToTest = Request.Form("DomainToTest")

    Resp = doWhois(DomainToTest, "full")
    If Resp <> "" Then
        Response.Write "<pre>"
        Response.Write Resp
        Response.Write "</pre>"
    End If
End If
%>
Avatar billede tolveren Nybegynder
25. august 2006 - 19:21 #13
Hvor skal jeg indsætte:

Response.Write doWhois("eksperten.dk", "noget andet end short")
Avatar billede nielle Nybegynder
26. august 2006 - 00:57 #14
Det du har gjort i 25/08-2006 19:20:35 er lige så godt. Hvad får du udskrevet hvis du tester på domænerne:

eksperten.dk og nada_nada_eksperten.dk

?
Avatar billede tolveren Nybegynder
26. august 2006 - 11:07 #15
Jeg får fejlsvar: siden kan ikke vises: HTTP 500 - Intern serverfejl
Internet Explorer
Avatar billede tolveren Nybegynder
26. august 2006 - 11:11 #16
I ..http://www.eksperten.dk/spm/377359 tilgåes port43 tilsyneladende uden at anvende socket ?
Avatar billede tolveren Nybegynder
26. august 2006 - 11:27 #17
Måeske anvendes socket alligevel. Det er jo php:
function whois($domain,$ext)
{  global $template,$server;
    if(($sc = fsockopen($server,43))==false){
        if(($sc = fsockopen($server,43))==false){
            echo"There is a temporary service disruption Please again try later";
            exit;
,,,,,,,,,,,,,,,,,
"fsockopen" har vel noget at gøre med socket.
Avatar billede nielle Nybegynder
26. august 2006 - 12:12 #18
26/08-2006 11:11:38> Ikke rigtigt, men socket delen er bare sjult rigtig godt af PHP.
Avatar billede nielle Nybegynder
26. august 2006 - 12:13 #19
Har du et link til din side?
Avatar billede tolveren Nybegynder
26. august 2006 - 22:34 #20
Avatar billede nielle Nybegynder
26. august 2006 - 22:48 #21
Jeg får denne fejl:


Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/Whois_Lookup2.asp, line 15

800401f3


Hvad har du i linje 15?
Avatar billede nielle Nybegynder
26. august 2006 - 22:53 #22
Umiddelbart ser det ud til at være denne linje:

set Socket = Server.CreateObject("Socket.TCP")

For at afprøve det kan du jo lave en ASP-fil med kun denne ene kommando. Hvis den fejler, så ser det bestemt ikke ud til at Socket.TCP komponenten er installeret. Eller også har du ikke adgang til den.

Uanset hvad de så ellers måtte sige...
Avatar billede tolveren Nybegynder
26. august 2006 - 23:24 #23
Ok, jeg tester.
Avatar billede tolveren Nybegynder
26. august 2006 - 23:32 #24
Jeg får fejlen nu:

Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed
/Whois_Lookup7.asp, line 2
800401f3
Avatar billede tolveren Nybegynder
26. august 2006 - 23:36 #25
asp-koden er således:
<%
set Socket = Server.CreateObject("Socket.TCP")
%>
Avatar billede nielle Nybegynder
27. august 2006 - 08:26 #26
Så er der ingen vej uden om konklusionen. Socket.TCP komponenten er enten ikke installeret, eller du hat ikke privilegier til at bruge den. Den bliver du nødt til at tage op med dit webhotel, eller du må bruge PHP-versionen.
Avatar billede tolveren Nybegynder
28. august 2006 - 15:03 #27
Har i dag fået beskeden: Yes Windock can be used fra min udbyder og nu virker dit script. Havde du forresten en ide til at indsætte option: handles for at få registrator data mm ud af forespørgslen.
Avatar billede tolveren Nybegynder
28. august 2006 - 16:14 #28
Hej nielle. Tror du det kan lade sig gøre at hente brugerindputtet fra en acces-database i stedet for at anvende formen. Og kan resultatet lægges tilbage i basen. Og som det sidste kan der sættes pause mellem forespørgslerne til whois.?
Avatar billede nielle Nybegynder
28. august 2006 - 20:50 #29
28/08-2006 15:03:13>

"... og nu virker dit script" - nåe, bare pludseligt sådan helt af sig selv?! Mon ikke at de har gjort noget for at få Socket.TCP til at virke (igen)?

"Havde du forresten en ide til at indsætte option: handles for at få registrator data mm ud af forespørgslen". - Jeg er ikke helt sikker på hvad det er du mener? Hvis det er de forskellige oplysninger i svaret fra DK-Hostmaster du gerne vil kunne udtrække, så kan det f.eks. gøres med RegExp. Jeg er dog ikke sikker på at dette er specielt nemt idet svarets format vist sagtens kan variere temmelig meget alt efter hvor mange oplysninger de har på registranten.

28/08-2006 16:14:12> doWhois() funktionen forudsætter ikke at indput kommer fra en form. Den skriver heller ikke selv ud til siden, men returnere et resultat som man så kan vælge at udskrive eller gøre noget andet med. Så ja, det kan sagtens lade sig gøre at tage input fra en database og lægge resultatet tilbage i databasen.

Inden at du går igang med et sådant projekt, skal du dog lige vide at DK-Hostmaster kun svarer på et vist antal forespørgseler om dagen. Du kan altså ikke regne med at få lov til at slå f.eks. 100 domæner op.
Avatar billede tolveren Nybegynder
29. august 2006 - 12:11 #30
Tusind tak. Læg et svar så får du pointene
Avatar billede tolveren Nybegynder
29. august 2006 - 12:13 #31
Som du kan se af  dette link: http://www.dk-hostmaster.dk/index.php?id=24&tx_ttnews[tt_news]=21&tx_ttnews[backPid]=9&cHash=7c27cc665f
så skriver hostmaster at der skal anvendes "handles" for at få flere data ud, men hvordan skal det indsættes sammen med sockets.
Avatar billede nielle Nybegynder
29. august 2006 - 12:26 #32
Ok, det gør du formentlig ved at ændre:

Socket.SendLine(Domain)

- til:

Socket.SendLine(" --show-handles " & Domain)
Avatar billede nielle Nybegynder
29. august 2006 - 12:26 #33
Og et svar :^)
Avatar billede tolveren Nybegynder
29. august 2006 - 21:28 #34
Socket.SendLine(" --show-handles " & Domain)
Ja det virker også. Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester