pengembangan-web-mp-pd.com

Apa utilitas garis perintah DNS terbalik?

Apa perintah untuk menemukan nama komputer yang diberikan alamat IP-nya?

Saya selalu lupa apa perintah ini, tetapi saya tahu itu ada di Windows dan saya menganggap itu ada di baris perintah * nix.

75
Peter Turner

Gali dan Host harus sesuai dengan yang Anda cari;)

http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html

Pada sistem * nix Anda dapat melakukan perintah ini: Dig -x [address]

Atau Anda dapat menambahkan +short di akhir perintah Dig untuk hanya menampilkan hasil dns.

Pada Windows , gunakan nslookup

EDIT: nslookup berfungsi juga pada sistem * nix. Info lebih lanjut tentang perintah nslookup apakah tampaknya telah diganti sejak beberapa saat sekarang: http://linuxreviews.org/man/nslookup/

59
Marc-Andre R.

Pada * nix Anda dapat menggunakan:

Dig -x [address]
54
palehorse

Pada sebagian besar sistem Linux yang saya tahu Anda dapat gunakan:

 nslookup <ip-number EX: 127.0.0.1>

akan bekerja pada baris perintah.

Kalau dipikir-pikir, bukankah nslookup tersedia di Windows XP?

8
mdpc

Pertanyaan ini sudah memiliki sejuta jawaban, tetapi saya akan menambahkan satu lagi. Inilah sedikit fungsi yang saya tulis untuk melakukan reverse DNS dengan mudah dengan Dig. Tambahkan ini ke ~/.bashrc file, muat ulang Shell Anda, dan kemudian Anda dapat melakukan pencarian DNS terbalik dengan revdns 1.2.3.4:

function revdns() {
    octets=""
    addr="in-addr.arpa"

    # split the IP address into an array of octets
    IFS="." read -r -a octets <<< "$1"

    # add each octet to our $addr string in reverse order
    for octet in "${octets[@]}"; do
         addr=$octet"."$addr
    done

    # run a DNS pointer lookup with Dig
    # `+short` makes Dig's output very terse (un-verbose)
    # `"${@:2}"` passes any extra params from this command to Dig
    Dig ptr +short $addr "${@:2}"
}

Reverse DNS lookup dilakukan dengan memeriksa catatan pointer (PTR). Jika Anda ingin melakukan reverse DNS untuk "1.2.3.4", Anda harus mencari catatan pointer untuk "4.3.2.1.in-addr.arpa". Fungsi saya mengambil alamat IP, membalik urutan oktet (mis. Mengubahnya dari 1.2.3.4 menjadi 4.3.2.1), dan kemudian menggunakan Dig untuk menjalankan pencarian PTR yang baru saja saya jelaskan.

Anda tentu saja dapat menggunakan nslookup 1.2.3.4 jika Anda memilikinya, tetapi saya lebih suka solusi berbasis Dig ini karena menggunakan server DNS OS daripada yang disediakan nslookup (jika Anda mau, Anda dapat menambahkan flag Dig tambahan saat Anda menelepon revdns, dan mereka akan lolos ke Dig)

4
Hayden Schiff

Coba "Tuan Rumah"

  • Teruskan pencarian dengan Host:

    $ Host google-public-dns-b.google.com.
    google-public-dns-b.google.com has address 8.8.4.4
    google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
    
  • Membalikkan pencarian dengan Host:

    $ Host 8.8.4.4
    4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
    

Mirip dengan Dig

  • Teruskan pencarian dengan Dig:

    $ Dig google-public-dns-b.google.com. +short
    8.8.4.4
    
  • Membalikkan pencarian dengan Dig:

    $ Dig -x 8.8.4.4 +short
    google-public-dns-b.google.com.
    
3
StackzOfZtuff

Saya sadar betul bahwa Dig/Host/nslookup adalah alat standar untuk ini, tetapi saya tetap menggunakannya untuk menguji resolusi OS (pada dasarnya, untuk menguji nsswitch.conf bekerja dengan benar):

gethostbyname:

#!/usr/bin/Perl

use Socket;

my @t = gethostbyname($ARGV[0]);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

gethostbyaddr:

#!/usr/bin/Perl

use Socket;

my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

contoh:

g3 0 /home/jj33/swap > gethostbyname www.google.com
$name     = www.l.google.com
$aliases  = www.google.com
$addrtype = 2
$length   = 4
          = 72.14.205.147
          = 72.14.205.103
          = 72.14.205.104
          = 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147 
$name     = qb-in-f147.google.com
$aliases  = 
$addrtype = 2
$length   = 4
          = 72.14.205.147
3
jj33

Pada Windows saya terbiasa menggunakan:

ping -a <ip address>

karena ini juga akan mencerminkan data dari file hosts Anda dan WINS dan seterusnya.

3
Dave Webb

Jika Anda menggunakan nslookup, ini adalah ini (dengan asumsi 192.168.0.1 sebagai IP yang dimaksud)

> set type=ptr
> 1.0.168.192.in-addr.arpa

EDIT: Ingat pencarian terbalik hanya berfungsi jika ada catatan PTR yang dibuat untuk IP, dan itu tidak dijamin untuk mengembalikan nama host yang Anda cari. Sepenuhnya tergantung pada bagaimana DNS dikonfigurasi dan dipertahankan dalam situasi Anda.

1
squillman

Powershell:

[net.dns]::gethostentry("69.59.196.212").HostName
1
Richard

Saya lebih suka baris perintah Dig untuk Windows (tersedia di sini: http://members.shaw.ca/nicholas.fong/Dig/ ) daripada nslookup setiap hari.

Jika Anda harus menguji/mengelola DNS dari workstation Windows, ambil alat ini. Kemudian:

C:\Dig>Dig -x <IP Address>

... juga, ingatlah untuk menambahkan c:\Galilah jalanmu!

0
Cory J

Nah, beberapa orang yang ramah hanya menulis nslookup adalah perintah, dan dia benar. Ia bekerja di kedua Unix dan Windows. Tidak yakin mengapa Anda menghapus jawaban Anda, tetapi Anda benar, Tuan.

0
Peter Turner

Ini pendapat saya tentang pencarian reverse DNS yang lebih lengkap. Semoga ini berguna bagi pemirsa halaman ini di masa depan.

for ip in {1..254..1}; do Dig -x 1.1.1.$ip | grep $ip >> dns.txt; done;
0
Boschko