[DNS] gethostbyaddr, wat is mijn nameserver

Pagina: 1
Acties:

  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
Hoi,

Ik wil een nslookup achtige tool nabouwen in perl, wat allemaal geen probleem is.

Het enigste wat ik te weten wil komen wat mijn name servers zijn. Ik kan natuurlijk wel /etc/resolv.conf(unix) of ipconfig(windows) gaan parsen maar volgens mij is er een directe call of bestaat er niks cross platfom?

Alhoewel als ik strace nslookup www.xs4all.nl doe dan schets mijn verbazing
code:
1
2
3
4
5
6
open("/etc/resolv.conf", O_RDONLY)      = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=76, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
read(7, "\n#nameserver 194.109.104.104\n\n#n"..., 4096) = 76
read(7, "", 4096)                       = 0
close(7)                                = 0

Verwijderd

Had je niet gewoon de source kunnen bekijken? :p

Maarumm... als het werkt, en hullie het ook doen, waarom dan niet...?

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Ik denk dat er niet een standaard call voor is, omdat de IP implementatie voor ieder platform anders is. Het resultaat is weliswaar hetzelfde, als het goed is, maar de configuratie van parameters voor IP, zoals DNS enzo, zijn per definitie onafhankelijk. Dus tenzij er in IP een commando bestaat waarmee je dit voor elkaar kan krijgen vrees ik dat je vette pech hebt en toch per platform een commando zal moeten schrijven die de uitvoer van ipconfig en dergelijke parst.

Ik kwam wel dit tegen http://www.dnsstuff.com/tools/aboutyou.ch, en die is wel in staat om de DNS die mijn bedrijf op het internet gebruikt te achterhalen, dus misschien is er hoop.

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

it0 schreef op 23 juli 2004 @ 11:49:
Het enigste wat ik te weten wil komen wat mijn name servers zijn. Ik kan natuurlijk wel /etc/resolv.conf(unix) of ipconfig(windows) gaan parsen maar volgens mij is er een directe call of bestaat er niks cross platfom?
Nope. De API waartegen je praat is grotendeels hetzelfde. Waar libresolv vervolgens z'n informatie vandaan haalt verschilt per platform. Op *NIX is dat altijd (?) /etc/resolv.conf, op Windows staat dat ergens verstopt in de registry.
Alhoewel als ik strace nslookup www.xs4all.nl doe dan schets mijn verbazing
code:
1
2
3
4
5
6
open("/etc/resolv.conf", O_RDONLY)      = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=76, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
read(7, "\n#nameserver 194.109.104.104\n\n#n"..., 4096) = 76
read(7, "", 4096)                       = 0
close(7)                                = 0
nslookup roept de libresolv interface aan, en die haalt het vervolgens weer uit de config files. Vrij normaal :)

  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Topicstarter
bigbeng schreef op 23 juli 2004 @ 12:49:

Ik kwam wel dit tegen http://www.dnsstuff.com/tools/aboutyou.ch, en die is wel in staat om de DNS die mijn bedrijf op het internet gebruikt te achterhalen, dus misschien is er hoop.
Dat is een dns query die je in staat stelt om de dns servers bij een host te vinden maar dan moet je dus wel een dns server hebben om die query bij te plaatsen.

De rest bedankt voor de input!