Lệnh tìm tên máy tính có địa chỉ IP là gì?
Tôi luôn quên lệnh này là gì, nhưng tôi biết nó tồn tại trong Windows và tôi cho rằng nó tồn tại trên dòng lệnh * nix.
Lệnh tìm tên máy tính có địa chỉ IP là gì?
Tôi luôn quên lệnh này là gì, nhưng tôi biết nó tồn tại trong Windows và tôi cho rằng nó tồn tại trên dòng lệnh * nix.
Câu trả lời:
đào và máy chủ nên là những gì bạn đang tìm kiếm;)
http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
Trên hệ thống * nix bạn có thể thực hiện lệnh này:
dig -x [address]
Ngoài ra, bạn có thể thêm +short
vào cuối dig
lệnh để chỉ xuất kết quả dns.
Trên Windows , sử dụngnslookup
EDIT: nslookup cũng hoạt động trên các hệ thống * nix. Thêm thông tin về lệnh nslookup cho dù nó dường như đã được thay thế từ bây giờ: http://linuxreviews.org/man/nslookup/
Trên * nix bạn có thể sử dụng:
dig -x [address]
dig -x [address] +short
+short
Lá cờ đó thực sự hữu ích!
man dig
, Các addr là một địa chỉ IPv4 trong ký hiệu chấm thập phân, hoặc một địa chỉ IPv6 ruột được phân định.
Câu hỏi này đã có một triệu câu trả lời, nhưng tôi sẽ thêm một câu hỏi khác. Đây là một chức năng nhỏ tôi đã viết để dễ dàng thực hiện đảo ngược DNS với đào. Thêm phần này vào ~/.bashrc
tệp của bạn , tải lại trình bao của bạn và sau đó bạn có thể thực hiện tra cứu DNS ngược với 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}"
}
Tra cứu DNS ngược được thực hiện bằng cách kiểm tra các bản ghi con trỏ (PTR). Nếu bạn muốn thực hiện đảo ngược DNS cho "1.2.3.4", bạn phải tra cứu các bản ghi con trỏ cho "4.3.2.1.in-addr.arpa". Hàm của tôi nhận một địa chỉ IP, đảo ngược thứ tự của các octet (tức là thay đổi nó từ 1.2.3.4 thành 4.3.2.1), sau đó sử dụng dig
để thực hiện tra cứu PTR mà tôi vừa mô tả.
Tất nhiên, nslookup 1.2.3.4
bạn có thể chỉ sử dụng nếu bạn có nó, nhưng tôi thích giải pháp dựa trên đào này vì nó sử dụng các máy chủ DNS của HĐH thay vì các máy chủ do nslookup cung cấp (nếu bạn muốn, nhân tiện, bạn có thể thêm các cờ đào bổ sung khi bạn gọi revdns
, và họ sẽ được thông qua để đào)
dig -x dot-notation
là "lối tắt cho tra cứu ngược". Tôi đã tự hỏi những gì phiên bản dài sẽ là. Cảm ơn vì đã giải thích! :)
man dig
: Khi -x được sử dụng, không cần cung cấp các đối số tên, lớp và kiểu. đào tự động thực hiện tìm kiếm một tên như 94.2.0.192.in-addr.arpa và đặt loại truy vấn và lớp tương ứng thành PTR và IN.
Tôi biết rõ rằng dig / host / nslookup là những công cụ tiêu chuẩn cho những thứ này, nhưng tôi giữ chúng xung quanh để kiểm tra độ phân giải của HĐH (về cơ bản, để kiểm tra nsswitch.conf đang hoạt động chính xác):
tên gethostby:
#!/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";
}
thí dụ:
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
Tra cứu chuyển tiếp với 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
Tra cứu ngược với host
:
$ host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
Tra cứu chuyển tiếp với dig
:
$ dig google-public-dns-b.google.com. +short
8.8.4.4
Tra cứu ngược với dig
:
$ dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
Nếu bạn đang sử dụng nslookup thì đây là (giả sử 192.168.0.1 là IP được đề cập)
> set type=ptr
> 1.0.168.192.in-addr.arpa
EDIT: Hãy nhớ tra cứu ngược chỉ hoạt động nếu có bản ghi PTR được tạo cho IP và không đảm bảo trả lại tên máy chủ bạn đang tìm kiếm. Hoàn toàn phụ thuộc vào cách DNS được cấu hình và duy trì trong tình huống của bạn.
Chà, một người thân thiện vừa viết nslookup là mệnh lệnh, và anh ấy đúng. Nó hoạt động trên cả Unix và Windows. Không chắc chắn tại sao bạn xóa câu trả lời của bạn, nhưng bạn là chính xác thưa ông.
Tôi thích đào dòng lệnh cho Windows (có sẵn tại đây: http://members.shaw.ca/nicholas.fong/dig/ ) cho nslookup bất cứ ngày nào.
Nếu bạn phải kiểm tra / quản trị DNS từ máy trạm Windows, hãy lấy công cụ này. Sau đó:
C:\dig>dig -x <IP Address>
... Ngoài ra, hãy nhớ thêm c: \ dig vào đường dẫn của bạn!
drill
tiện ích từ ldns, tức làdrill -x 123.123.123.123