Ohjelmallisesti ulospäin näkyvän IP-osoitteen haku tehdään tyypillisesti http-pyynnöllä. Nopeampi tapa on kuitenkin tiedustella asiaa DNS-palvelimelta.
net:INET4 net:DGRAM net:socket constant socket [ 0xaa, 0xaa, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, "myip", "opendns", "com", 0x00, 0x00, 0x01, 0x00, 0x01 ] "12b1s1c1s1c1s1c5b" pack constant message : address-info \ -- ai "resolver1.opendns.com" 53 net:getaddrinfo ; : app:main address-info null? if drop "Server address information lookup failed.\n" . bye then socket swap message 0 net:sendto null? if drop "Error sending message.\n" . net:close bye else drop then 512 b:new 0 net:recvfrom null? if drop "No response from the server\n" . net:close bye then \ Test RCODE over 3 b:@ nip 0xf n:band not if \ Last four bytes from the response is the IP address. dup 4 n:- swap b:slice "4:1B" unpack drop ' >s a:map "." a:join "External IP: %s\n" s:strfmt . else 2drop "Error communicating with the server.\n" . then drop net:close bye ;
Jaahas oisko koko foorumi pakettiin sitten. Kiitos vuosista!
noutti kirjoitti:
Jaahas oisko koko foorumi pakettiin sitten. Kiitos vuosista!
Mikähän tuossa laittamassani ohjelman pätkässä nyt niin loukkasi?
Katsoin viestihistoriaasi ja suurin osa viimeaikaisista viesteistäsi näytti olevan pelkkää typerää vittuilua, mikä ei sisällöltään paranna yhtäkään foorumia ja antaa myös typerän kuvan sinusta. Vaikka oma näkemyksesi eroaisi merkittävästi jonkun muun näkemyksestä, olisi suotavaa osata vastata kohteliaasti, perustella ja esittää asiallisesti mikä on mielestäsi ongelmakohta.
Voisitko jalski vielä avata, mikä pyyntö tuossa tehdään ja miksi vastauksesta löytyy se oma IP?
Metabolix kirjoitti:
Voisitko jalski vielä avata, mikä pyyntö tuossa tehdään ja miksi vastauksesta löytyy se oma IP?
Ohjelma lähettää DNS-pyynnön UDP-pakettina erityisellä url-osoitteella: myip.opendns.com osoitteeseen resolver1.opendns.com. Vastauksena palautuu pyynnön tekijän IP-osoite.
Parempi selostus täällä
Ahaa, eli kyseessä on vain tuolla DNS-palvelimella toimiva palvelu, ei mikään yleispätevä DNS-kikka. Hauska idea kuitenkin.
Sit oiskin näpsä scripti, että sais nää pornokiristäjät lähettään oman ip:nsä johonkin mistä sen sais talteen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.