เหตุใดการ ping จึงสำเร็จ แต่ nmap ล้มเหลว


21

เหตุใด Nmap จึงรายงานว่า "โฮสต์ดูไม่ดี" เมื่อ ping ง่าย ๆ สำเร็จ

me@computer:~$ ping 123.45.67.89
PING 123.45.67.89 (123.45.67.89) 56(84) bytes of data.
64 bytes from 123.45.67.89: icmp_req=1 ttl=45 time=91.1 ms
64 bytes from 123.45.67.89: icmp_req=2 ttl=45 time=102 ms
64 bytes from 123.45.67.89: icmp_req=3 ttl=45 time=100 ms
^C
--- 123.45.67.894 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 91.136/98.182/102.417/5.022 ms

me@computer:~$ nmap 123.45.67.89

Starting Nmap 5.21 ( http://nmap.org ) at 2014-04-02 14:23 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

"โพรบโพรบ" ของ Nmap แตกต่างจากคำสั่ง ping หรือไม่


ฉันขอแนะนำให้คุณอัพเกรดการติดตั้ง Nmap ของคุณหรือไม่ รุ่นปัจจุบันคือ 6.40 เวอร์ชัน 5.21 มีอายุ 4 ปีและขาดสคริปต์ 361 NSE รวมถึงบริการและลายนิ้วมือ OS หลายพันรายการ
bonsaiviking

ขอบคุณ 5.21 เป็นรุ่นที่ฉันได้รับตามค่าเริ่มต้น ฉันเดาว่าฉันจะไปดาวน์โหลดและสร้างล่าสุด
AShelly

ใช่อูบุนตูอยู่ข้างหลังอย่างสิ้นหวังบน Nmap คุณสามารถตรวจสอบการพึ่งพาใน. deb จากกาลีซึ่งเป็นปัจจุบัน
bonsaiviking

คำตอบ:


29

Nmap ส่งโพรบต่าง ๆ มากมายเพื่อพิจารณาว่าโฮสต์นั้นอยู่หรือไม่ ในกรณีเฉพาะของคุณเนื่องจากคุณใช้ Nmap โดยไม่มีสิทธิ์รูทจึงไม่สามารถส่งคำขอ ICMP Echo ซึ่งเป็นสิ่งที่pingยูทิลิตี้ใช้ ในกรณีนี้จะพยายามเชื่อมต่อกับพอร์ต 80 และพอร์ต 443 โดยแจ้งโฮสต์ว่ามีการเปิดหรือปฏิเสธการเชื่อมต่อ เป้าหมายของคุณต้องมีไฟร์วอลล์ที่ลดทราฟฟิกทั้งหมดไปยังพอร์ตเหล่านั้น

ในการอนุญาตให้ Nmap ค้นหาระบบให้ลองรันด้วยการอนุญาตรูท sudoคำสั่งที่ใช้บ่อยเพื่อจุดประสงค์นี้เช่นsudo nmap 123.45.67.89

pingสามารถส่งแพ็กเก็ต ICMP ได้เนื่องจากมีการติดตั้งsetuidไปที่รูทซึ่งหมายความว่าผู้ใช้ทุกคนสามารถรันได้ แต่จะรันในฐานะผู้ใช้รูทเมื่อทำ โปรแกรม Setuid จะต้องระมัดระวังเป็นพิเศษเป็นพิเศษเกี่ยวกับการไม่ให้ผู้ใช้ทั่วไปได้รับเชลล์ผ่านการอนุญาตพิเศษนี้ โดยเฉพาะอย่างยิ่ง Nmap ไม่สามารถป้องกันการเพิ่มสิทธิ์นี้ดังนั้นจึงไม่ควรทำการ setuid


ฉันอยู่บน Windows และยังคงได้รับข้อผิดพลาดเดียวกันในขณะที่ใช้งานใน cmd ด้วยสิทธิ์ของผู้ดูแลระบบ ปิงใช้ได้ดีเสมอ
shashwat

2
ฉันรูท แต่มีปัญหานี้
vladkras

หากไม่มี root / sudo แล้ว ping จะทำ ICMP ECHO ได้อย่างไร แต่ไม่ใช่ nmap
MikeP

1
@MikeP /bin/pingเป็น setuid-root ไม่ว่าใครจะทำงานมันก็ทำงานด้วยสิทธิพิเศษของรูท โปรแกรม Setuid ต้องได้รับการทดสอบอย่างละเอียดเพื่อให้แน่ใจว่าไม่สามารถใช้เพื่อรันคำสั่งโดยพลการ Nmap ไม่สามารถติดตั้ง setuid-root ได้อย่างปลอดภัยดังนั้นคุณต้องใช้กลไกอื่น ๆ : รหัสผ่านของรูทหรือ sudo
bonsaiviking

2

ใช่พวกเขาจะแตกต่างกันโดยค่าเริ่มต้น ping คือ ICMP และ nmap ping ส่งแพคเกจการซิงค์ไปที่พอร์ต 80 ถ้าฉันจำได้อย่างถูกต้องลองใช้แฟล็ก -PE, -PM, -PP เพื่อให้ทำ ICMP ping


0

ไม่มีสิทธิ์คุณสามารถสแกนพอร์ตด้วย netcat:

nc -z -w5 hostname 22; echo $?

คำตอบ 1 ถ้าล้มเหลวมิฉะนั้นตอบ:

การเชื่อมต่อกับชื่อโฮสต์ 22 พอร์ต [tcp / ssh] สำเร็จ!

0


เป็นการดีที่สุดในการพูดและอ้างอิงคำตอบเมื่อคุณอ้างถึงคำสั่งของคำตอบสามารถเปลี่ยนได้ทุกวัน คำตอบนี้ได้เปลี่ยนลำดับของผู้ตอบคำถามนี้
Ramhound

0

แก้ไขง่าย ๆ สำหรับฉัน (Windows 10) ฉันเพิ่งปิดใช้งานอแด็ปเตอร์ไร้สายซึ่งไม่ได้ใช้งานมาตั้งแต่ฉันใช้อะแดปเตอร์ LAN หลัก ฉันขอแนะนำให้ปิดใช้งานทั้งหมดยกเว้นอะแดปเตอร์หลักของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.