คำสั่งในการค้นหาชื่อของคอมพิวเตอร์ที่ให้ที่อยู่ IP ของมันคืออะไร?
ฉันมักจะลืมว่าคำสั่งนี้คืออะไร แต่ฉันรู้ว่ามันมีอยู่ใน Windows และฉันคิดว่ามันมีอยู่ในบรรทัดคำสั่ง * nix
คำสั่งในการค้นหาชื่อของคอมพิวเตอร์ที่ให้ที่อยู่ IP ของมันคืออะไร?
ฉันมักจะลืมว่าคำสั่งนี้คืออะไร แต่ฉันรู้ว่ามันมีอยู่ใน Windows และฉันคิดว่ามันมีอยู่ในบรรทัดคำสั่ง * nix
คำตอบ:
ขุดและโฮสต์ควรเป็นสิ่งที่คุณกำลังมองหา;)
http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
บนระบบ * nix คุณสามารถทำคำสั่งนี้:
dig -x [address]
หรือคุณสามารถเพิ่ม+short
ที่ส่วนท้ายของdig
คำสั่งเพื่อแสดงผลผลลัพธ์ dns เท่านั้น
บน Windowsให้ใช้nslookup
แก้ไข: nslookup ทำงานบนระบบ * nix ด้วย ข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง nslookup ไม่ว่าจะถูกแทนที่มานานแล้ว: http://linuxreviews.org/man/nslookup/
ใน * ระวังคุณสามารถใช้:
dig -x [address]
dig -x [address] +short
+short
ธงเป็นประโยชน์จริงๆ!
man dig
, addr คือที่อยู่ IPv4 ในสัญกรณ์ประทศนิยมหรือลำไส้ใหญ่ที่คั่นอยู่ IPv6
ในระบบ Linux ส่วนใหญ่ที่ฉันตระหนักถึงคุณสามารถใช้:
nslookup <ip-number EX: 127.0.0.1>
จะทำงานบนบรรทัดคำสั่ง
ลองคิดดูสิ Windows XP ไม่สามารถใช้ได้
คำถามนี้มีคำตอบนับล้านข้อ แต่ฉันจะเพิ่มอีกหนึ่งคำถาม นี่คือฟังก์ชั่นเล็ก ๆ น้อย ๆ ที่ฉันเขียนเพื่อทำ DNS ย้อนกลับอย่างง่ายด้วยการขุด เพิ่มลงใน~/.bashrc
ไฟล์ของคุณโหลดเชลล์ของคุณใหม่จากนั้นคุณสามารถย้อนกลับการค้นหา DNS ด้วย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}"
}
การค้นหา DNS แบบย้อนกลับทำได้โดยการตรวจสอบตัวชี้ (PTR) ถ้าคุณต้องการทำ DNS ย้อนกลับสำหรับ "1.2.3.4" คุณต้องค้นหาเรคคอร์ดตัวชี้สำหรับ "4.3.2.1.in-addr.arpa" ฟังก์ชั่นของฉันใช้เวลาในที่อยู่ IP กลับคำสั่งของออคเต็ต (เช่นเปลี่ยนจาก 1.2.3.4 เป็น 4.3.2.1) จากนั้นใช้dig
เพื่อดำเนินการค้นหา PTR ที่ฉันเพิ่งอธิบาย
แน่นอนคุณสามารถใช้เพียงแค่nslookup 1.2.3.4
ถ้าคุณมี แต่ฉันชอบโซลูชันที่ใช้ dig นี้เพราะใช้เซิร์ฟเวอร์ DNS ของระบบปฏิบัติการแทนการใช้ nslookup ที่ให้มา (ถ้าคุณต้องการคุณสามารถเพิ่มค่าสถานะ dig เพิ่มเติมได้ เมื่อคุณโทรrevdns
และพวกเขาจะถูกส่งผ่านไปยังขุด)
dig -x dot-notation
คือ "ทางลัดสำหรับการค้นหาแบบย้อนกลับ" ฉันสงสัยว่าเวอร์ชั่นยาวจะเป็นอย่างไร ขอบคุณที่อธิบาย! :)
man dig
: เมื่อใช้ -x ไม่จำเป็นต้องระบุอาร์กิวเมนต์ class และ type ขุดทำการค้นหาโดยอัตโนมัติสำหรับชื่อเช่น 94.2.0.192.in-addr.arpa และตั้งค่าชนิดของแบบสอบถามและคลาสเป็น PTR และ IN ตามลำดับ
ฉันรู้ดีว่าการขุด / host / nslookup เป็นเครื่องมือมาตรฐานสำหรับสิ่งเหล่านี้ แต่ฉันเก็บไว้รอบ ๆ เพื่อทดสอบความละเอียดของระบบปฏิบัติการ (เป็นหลักเพื่อทดสอบ nsswitch.conf ทำงานอย่างถูกต้อง):
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";
}
ตัวอย่าง:
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
ใน Windows ฉันเข้าสู่นิสัยการใช้:
ping -a <ip address>
เช่นนี้จะสะท้อนข้อมูลจากhosts
ไฟล์ของคุณและ WINS และอื่น ๆ
ส่งต่อการค้นหาด้วย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
ย้อนกลับการค้นหาด้วยhost
:
$ host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
ส่งต่อการค้นหาด้วยdig
:
$ dig google-public-dns-b.google.com. +short
8.8.4.4
ย้อนกลับการค้นหาด้วยdig
:
$ dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
หากคุณใช้ nslookup สิ่งนี้ (สมมติว่า 192.168.0.1 เป็น IP ที่เป็นปัญหา)
> set type=ptr
> 1.0.168.192.in-addr.arpa
แก้ไข: จำไว้ว่าการค้นหาแบบย้อนกลับจะทำงานได้ก็ต่อเมื่อมีเรคคอร์ด PTR ที่สร้างขึ้นสำหรับ IP และไม่รับประกันว่าจะส่งคืนชื่อโฮสต์ที่คุณกำลังมองหา ขึ้นอยู่กับวิธีการกำหนดค่า DNS และดูแลรักษาในสถานการณ์ของคุณ
Powershell:
[net.dns]::gethostentry("69.59.196.212").HostName
คนที่เป็นมิตรบางคนเพิ่งเขียน nslookup คือคำสั่งและเขาพูดถูก มันทำงานได้ทั้ง Unix และ Windows ไม่แน่ใจว่าทำไมคุณลบคำตอบของคุณ แต่คุณเป็นคนที่ถูกต้อง
ฉันชอบขุดบรรทัดคำสั่งสำหรับ Windows (ใช้ได้ที่นี่: http://members.shaw.ca/nicholas.fong/dig/ ) เพื่อ nslookup ทุกวัน
หากคุณต้องทดสอบ / ดูแล DNS จากเวิร์กสเตชัน Windows ให้คว้าเครื่องมือนี้ แล้ว:
C:\dig>dig -x <IP Address>
... นอกจากนี้อย่าลืมเพิ่ม c: \ dig ไปยังเส้นทางของคุณ!
เธอคือฉันใช้เวลาในการค้นหา DNS ย้อนกลับที่สมบูรณ์มากขึ้น หวังว่าสิ่งนี้จะมีประโยชน์สำหรับผู้ดูหน้านี้ในอนาคต
for ip in {1..254..1}; do dig -x 1.1.1.$ip | grep $ip >> dns.txt; done;
nbtstat -a <ที่อยู่ ip>
drill
ยูทิลิตี้จาก ldns เช่นdrill -x 123.123.123.123