ตัวเลือกของบรรณาธิการ:

การโฆษณา

บ้าน - การตั้งค่าเราเตอร์
สคริปต์ Nmap วิธีใช้ Nmap เพื่อสแกนเครือข่ายของคุณ

ด้านล่างคุณจะพบ 20 พื้นฐาน ตัวอย่างการใช้คำสั่ง Nmap.

คุณจะได้เรียนรู้วิธีการใช้ Nmap จาก บรรทัดคำสั่งบนลินุกซ์เพื่อค้นหาโฮสต์ที่ใช้งานอยู่บนเครือข่ายและสแกนพอร์ตที่เปิดอยู่

คุณจะเห็นวิธีการ ตรวจจับระบบปฏิบัติการจากระยะไกลการใช้ลายนิ้วมือสแต็ก TCP/IP และวิธีการ ค้นหาเวอร์ชัน ซอฟต์แวร์ ทำงานบนเซิร์ฟเวอร์ระยะไกล

ฉันจะแสดงวิธีการทำเช่นนี้โดยใช้ Nmap การสแกนแอบแฝง, ยังไง กำหนดไฟร์วอลล์แล้วยังไง เปลี่ยนที่อยู่ MAC.

1. สแกนโฮสต์เดียวหรือที่อยู่ IP

สแกน ที่อยู่ IP แยกกัน:

$nแมป 192.168.1.1

สแกนเซิร์ฟเวอร์โดย ชื่อโฮสต์:

$ เซิร์ฟเวอร์ nmap.site

เพิ่มขึ้น ระดับของรายละเอียดผลการสแกน:

$ nmap -v เซิร์ฟเวอร์..ไซต์

2. การสแกนที่อยู่ IP หลายรายการ

สแกน ที่อยู่ IP หลายรายการ:

$nmap 192.168.1.1 192.168.1.2 192.168.1.3 $namp 192.168.1.1,2,3

สแกน ซับเน็ต:

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

สแกน ช่วงที่อยู่ IP (192.168.1.0 — 192.168.1.200):

$nแมป 192.168.1.0-200

3. ค้นหาคอมพิวเตอร์ที่ใช้งานบนเครือข่าย

คำแนะนำที่เป็นประโยชน์:สแกนเครือข่ายของคุณด้วยคำสั่ง ping เพียงคำสั่งเดียว! ค้นหาคอมพิวเตอร์ที่ใช้งานอยู่ทั้งหมด!

สแกนเครือข่ายเพื่อค้นหา โฮสต์ที่ใช้งานอยู่:

$ nmap -sn 192.168.1.0/24

4. สแกนรายชื่อโฮสต์จากไฟล์

กำลังสแกนรายการโฮสต์/เครือข่ายจาก ไฟล์:

$ nmap -iL input.txt

รูปแบบไฟล์:

# รายการสามารถอยู่ในรูปแบบใดก็ได้ที่ Nmap ใช้งานได้กับ # จากบรรทัดคำสั่ง (ที่อยู่ IP, ชื่อโฮสต์, CIDR, IPv6 หรือช่วง octet #) รายการจะต้องคั่นด้วยช่องว่าง แท็บ # หรือบรรทัดใหม่อย่างน้อยหนึ่งรายการ $ cat input.txt เซิร์ฟเวอร์ไซต์ 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. ไม่รวม IP/โฮสต์/เครือข่ายจากการสแกน

ไม่รวมเป้าหมายจากการสแกน Nmap:

$ nmap 192.168.1.0/24 -- ไม่รวม 192.168.1.1 $ nmap 192.168.1.0/24 -- ไม่รวม 192.168.1.1 192.168.1.5 $ nmap 192.168.1.0/24 -- ไม่รวม 192.168.1.1,2,3

รายการยกเว้นโฮสต์ที่นำมาจากไฟล์:

$ nmap 192.168.1.0/24 --excludefile ไม่รวม.txt

รูปแบบไฟล์ที่มีโฮสต์ที่แยกออกจะคล้ายกับรูปแบบด้านบน

6. สแกนพอร์ตเฉพาะ

สแกน หนึ่งพอร์ต:

$ nmap -p 80 192.168.1.1

สแกน หลายพอร์ต:

$ nmap -p 80.443 192.168.1.1

สแกน ช่วงพอร์ต:

$ nmap -p 80-1,000 192.168.1.1

สแกน พอร์ตทั้งหมด:

$ nmap -p "*" 192.168.1.1

สแกนหลายอันมากที่สุด พอร์ตทั่วไป:

$ nmap -- บนสุดพอร์ต 5 192.168.1.1 $ nmap -- บนสุดพอร์ต 10 192.168.1.1

7. การกำหนดโปรโตคอล IP ที่รองรับ

กำหนดว่าอันไหน โปรโตคอลไอพี(TCP, UDP, ICMP ฯลฯ) รองรับโฮสต์ที่สแกน:

$ nmap -sO 192.168.1.1

8. การสแกนพอร์ต TCP/UDP

สแกน พอร์ต TCP ทั้งหมด:

$ nmap -st 192.168.1.1

สแกน พอร์ต TCP เฉพาะ:

$ nmap -p T:80 192.168.1.1

สแกน พอร์ต UDP ทั้งหมด:

$ nmap -sU 192.168.1.1

สแกน พอร์ต UDP เฉพาะ:

$ nmap -p U:53 192.168.1.1

รวมการสแกนพอร์ตต่างๆ:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. สแกนด่วน

เปิดใช้งาน โหมดรวดเร็วสแกน:

$ nmap -F 192.168.1.1

* สแกนพอร์ตน้อยกว่าการสแกนปกติ

10. แสดงสาเหตุของสถานะพอร์ต

แสดง เหตุผลโดยที่ Nmap เชื่อว่าพอร์ตอยู่ในสถานะที่แน่นอน:

$ nmap --เหตุผล 192.168.1.1

11. แสดงเฉพาะพอร์ตที่เปิดอยู่

แสดง เปิดพอร์ตเท่านั้น(หรืออาจจะเปิด):

$ nmap -- เปิด 192.168.1.1

12. คำจำกัดความของระบบปฏิบัติการ

หนึ่งในที่มีชื่อเสียงที่สุด ฟังก์ชั่น Nmap คือการตรวจจับระบบปฏิบัติการระยะไกลโดยอิงจากการวิเคราะห์สแต็ก TCP/IP

Nmap จะส่งชุดของแพ็กเก็ต TCP และ UDP ไปที่ โฮสต์ระยะไกลและศึกษาคำตอบ

หลังจากทำการทดสอบหลายครั้ง Nmap จะเปรียบเทียบผลลัพธ์กับฐานข้อมูล และหากพบผลลัพธ์ที่ตรงกัน Nmap จะแสดงข้อมูลเกี่ยวกับระบบปฏิบัติการ

เปิด คำจำกัดความของระบบปฏิบัติการ:

$ nmap -O 192.168.1.1

13. การกำหนดเวอร์ชันของบริการ

เปิด การกำหนดเวอร์ชันของบริการ:

$ nmap -sV 192.168.1.1

* กำหนดเวอร์ชันของโปรแกรมที่ทำงานบนเซิร์ฟเวอร์ระยะไกล

14. การตรวจจับไฟร์วอลล์

ค้นหาว่าคอมพิวเตอร์ของคุณได้รับการปกป้องโดยสิ่งใดๆ หรือไม่ ตัวกรองแบทช์หรือ ไฟร์วอลล์:

$ nmap -sA 192.168.1.1

15. การทดแทนที่อยู่ MAC

ทดแทน หมายเลขทางกายภาพ:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

เปลี่ยนที่อยู่ MAC สุ่ม MAC:

$ nmap --spoof-mac 0 192.168.1.1

16. สแกนไฟร์วอลล์เพื่อหาช่องโหว่

การสแกนทั้งสามประเภทนี้ใช้ช่องโหว่เล็กๆ น้อยๆ ใน TCP RFC เพื่อแยกความแตกต่างระหว่างพอร์ตที่เปิดและปิด

เมื่อสแกนระบบที่สอดคล้องกับ RFC แพ็กเก็ตใดๆ ที่ไม่มีชุดบิต SYN, RST หรือ ACK จะส่งผลให้เกิดการตอบสนอง RST หากพอร์ตถูกปิด หรือไม่ตอบสนองหากพอร์ตเปิดอยู่

เพราะ ไม่มีการตั้งค่าบิตเหล่านี้ ดังนั้นการรวมกันของสามบิตที่เหลือ (FIN, PSH และ URG) จะถูกต้อง

TCP เป็นโมฆะการสแกน:

$ nmap -sN 192.168.1.1

* ไม่มีการตั้งค่าบิต (แฟล็กในส่วนหัว TCP 0)

TCP ฟินการสแกน:

$ nmap -sF 192.168.1.1

* ตั้งค่าเฉพาะบิต TCP FIN เท่านั้น

TCP คริสต์มาสการสแกน:

$ nmap -sX 192.168.1.1

* ตั้งค่าสถานะ FIN, PSH และ URG แล้ว (แพ็คเกจจะสว่างขึ้นเหมือนต้นคริสต์มาส)

17. สแกนแอบแฝง

คำแนะนำที่เป็นประโยชน์:ไม่เปิดเผยตัวตนในขณะที่สแกนพอร์ต! ใช้ Nmap + Tor + ProxyChains! การทดสอบการเจาะที่ปลอดภัยและง่ายดาย!

TCP SYNการสแกน:

$ nmap -sS 192.168.0.1

* เรียกว่าการสแกนแบบเปิดครึ่งเดียวเนื่องจากไม่ได้เปิดการเชื่อมต่อ TCP แบบเต็ม

18. ปิดการใช้งานการค้นพบโฮสต์ (ไม่มี Ping)

อย่า ping โฮสต์ก่อนที่จะสแกน:

$ nmap -Pn 192.168.1.1

19. การปิดใช้งานการใช้ DNS

คำแนะนำที่เป็นประโยชน์:ต้องการยกระดับความปลอดภัยของ Linux ของคุณหรือไม่? เข้ารหัส การรับส่งข้อมูล DNSเพื่อป้องกันการปลอมแปลง!

อย่าย้อนกลับการแก้ไขชื่อ DNS สำหรับทุกที่อยู่ IP ที่ใช้งานอยู่ที่ค้นพบ

สคริปต์ NSE มีสี่ประเภท ได้แก่ :

  • สคริปต์พรีรูล– เป็นสคริปต์ที่ทำงานก่อนการสแกนของ Nmap โดยจะดำเนินการเมื่อ Nmap ยังไม่ได้รวบรวมข้อมูลใดๆ เกี่ยวกับเป้าหมาย
  • สคริปต์โฮสต์– เป็นสคริปต์ที่ดำเนินการหลังจากที่ Nmap ดำเนินการตามปกติ เช่น การค้นพบโฮสต์ การสแกนพอร์ต การตรวจจับเวอร์ชัน และการตรวจจับระบบปฏิบัติการกับโฮสต์เป้าหมาย
  • สคริปต์บริการ– เป็นสคริปต์ที่รันกับบริการเฉพาะที่รับฟังบนโฮสต์เป้าหมาย
  • สคริปต์หลังกฎ– เป็นสคริปต์ที่ทำงานหลังจาก Nmap สแกนโฮสต์เป้าหมายทั้งหมดแล้ว

จากนั้นสคริปต์เหล่านี้จะถูกจัดกลุ่มตามหมวดหมู่ต่างๆ รวมถึงสคริปต์สำหรับการตรวจสอบสิทธิ์ ( รับรองความถูกต้อง) การค้นพบโฮสต์ ( ออกอากาศ) การโจมตีแบบเดรัจฉานเพื่อคาดเดาข้อมูลรับรองความถูกต้อง ( ดุร้าย) การค้นพบเพิ่มเติมเกี่ยวกับเครือข่าย ( การค้นพบ) ทำให้เกิดการปฏิเสธการให้บริการ ( สิ่งที่ควรทำ) ใช้ประโยชน์จากช่องโหว่บางอย่าง ( หาประโยชน์) ฯลฯ สคริปต์จำนวนหนึ่งอยู่ในหมวดหมู่เริ่มต้น

บันทึก: ก่อนที่เราจะก้าวไปไกลกว่านี้ คุณควรทราบประเด็นสำคัญเหล่านี้:

  • อย่ารันสคริปต์จากบุคคลที่สามโดยไม่ได้พิจารณาอย่างมีวิจารณญาณหรือเฉพาะในกรณีที่คุณเชื่อถือผู้เขียนเท่านั้น นี่เป็นเพราะสคริปต์เหล่านี้ ไม่ได้ทำงานในแซนด์บ็อกซ์และอาจสร้างความเสียหายให้กับระบบของคุณโดยไม่คาดคิดหรือเป็นอันตรายหรือบุกรุกความเป็นส่วนตัวของคุณ
  • ประการที่สอง สคริปต์เหล่านี้จำนวนมากอาจทำงานเป็นอย่างใดอย่างหนึ่ง กฎเบื้องต้นหรือ กฎเกณฑ์สคริปต์ เมื่อพิจารณาถึงสิ่งนี้ ขอแนะนำให้ใช้กฎเบื้องต้นเพื่อจุดประสงค์ของความสม่ำเสมอ
  • Nmap ใช้ สคริปต์/script.dbฐานข้อมูลเพื่อค้นหาสคริปต์และหมวดหมู่เริ่มต้นที่มีอยู่

หากต้องการดูตำแหน่งของสคริปต์ NSE ที่มีอยู่ทั้งหมด ให้เรียกใช้บนเทอร์มินัลดังนี้:

$ ค้นหา *.nse/usr/share/nmap/scripts/acarsd-info.nse /usr/share/nmap/scripts/address-info.nse /usr/share/nmap/scripts/afp-brute.nse /usr/share/nmap/scripts /afp-ls.nse /usr/share/nmap/scripts/afp-path-vuln.nse /usr/share/nmap/scripts/afp-serverinfo.nse /usr/share/nmap/scripts/afp-showmount.nse /usr/share/nmap/scripts/ajp-auth.nse /usr/share/nmap/scripts/ajp-brute.nse /usr/share/nmap/scripts/ajp-headers.nse /usr/share/nmap/สคริปต์ /ajp-methods.nse /usr/share/nmap/scripts/ajp-request.nse /usr/share/nmap/scripts/allseeingeye-info.nse /usr/share/nmap/scripts/amqp-info.nse /usr /share/nmap/scripts/asn-query.nse ...

สคริปต์ NSE ถูกโหลดโดยใช้แฟล็ก --script ซึ่งช่วยให้คุณเรียกใช้ได้เช่นกัน ของคุณเองสคริปต์โดยการระบุหมวดหมู่ ชื่อไฟล์สคริปต์ หรือชื่อของไดเร็กทอรีที่สคริปต์ของคุณอยู่

ไวยากรณ์สำหรับการเปิดใช้งานสคริปต์มีดังนี้:

$ namp -sC target #load สคริปต์เริ่มต้นหรือ $ nmap --script ชื่อไฟล์ | หมวดหมู่ | ไดเรกทอรี | การแสดงออก, ... เป้าหมาย

คุณสามารถดูคำอธิบายของสคริปต์ได้ด้วยตัวเลือก --script-help นอกจากนี้ คุณยังสามารถส่งผ่านอาร์กิวเมนต์ไปยังสคริปต์บางตัวผ่านทางตัวเลือก --script-args และ --script-args-file ซึ่งตัวเลือกหลังนี้ใช้เพื่อระบุชื่อไฟล์แทนที่จะเป็นบรรทัดคำสั่ง arg

หากต้องการสแกนด้วยสคริปต์เริ่มต้นส่วนใหญ่ ให้ใช้แฟล็ก -sC หรือใช้ --script=default ดังที่แสดง

$ nmap -sC scanme.nmap.org หรือ $ nmap --script=default scanme.nmap.org หรือ $ nmap --script เริ่มต้น scanme.nmap.org

ผลลัพธ์ตัวอย่าง
เริ่มต้น Nmap 7.01 (https://nmap.org) ที่ 15-11-2560 10:36 IST รายงานการสแกน Nmap สำหรับ scanme.nmap.org (45.33.32.156) โฮสต์หมด (เวลาแฝง 0.0027 วินาที) ไม่แสดง: พอร์ตที่กรอง 999 พอร์ต PORT STATE SERVICE 80/tcp เปิด http |_http-title: ดำเนินการต่อและ ScanMe! เสร็จสิ้น Nmap: สแกน 1 ที่อยู่ IP (1 โฮสต์ขึ้นไป) ใน 11.74 วินาที

หากต้องการใช้สคริปต์เพื่อวัตถุประสงค์ที่เหมาะสม ก่อนอื่นคุณสามารถขอคำอธิบายสั้น ๆ ว่าสคริปต์ทำหน้าที่อะไรได้จริง เป็นต้น http-ส่วนหัว.

$ nmap --script-help http-headers scanme.nmap.org

ผลลัพธ์ตัวอย่าง
เริ่มต้น Nmap 7.01 (https://nmap.org) เวลา 15-11-2560 10:37 IST http-headers หมวดหมู่: การค้นพบที่ปลอดภัย https://nmap.org/nsedoc/scripts/http-headers.html ดำเนินการร้องขอ HEAD สำหรับโฟลเดอร์รูท ("/") ของเว็บเซิร์ฟเวอร์ และแสดงส่วนหัว HTTP ที่ส่งคืน

กำลังโหลดสคริปต์ NSE เพื่อทำการสแกน Nmap

คุณสามารถเลือกหรือโหลดสคริปต์เพื่อทำการสแกนด้วยวิธีการต่างๆ ที่อธิบายไว้ด้านล่าง

การใช้ชื่อสคริปต์

เมื่อคุณรู้ว่าสคริปต์ทำอะไรได้บ้าง คุณสามารถทำการสแกนโดยใช้สคริปต์นั้นได้ คุณสามารถใช้สคริปต์เดียวหรือป้อนรายการชื่อสคริปต์ที่คั่นด้วยเครื่องหมายจุลภาค คำสั่งด้านล่างจะช่วยให้คุณดูส่วนหัว HTTP ที่กำหนดค่าบนเว็บเซิร์ฟเวอร์ที่โฮสต์เป้าหมายได้

$ nmap --script http-headers scanme.nmap.org

สแกนส่วนหัว HTTP

เริ่มต้น Nmap 7.01 (https://nmap.org) ที่ 15-11-2560 10:39 IST รายงานการสแกน Nmap สำหรับ scanme.nmap.org (45.33.32.156) โฮสต์หมด (เวลาแฝง 0.27 วินาที) ไม่แสดง: 996 พอร์ตปิด PORT STATE SERVICE 22/tcp เปิด ssh 80/tcp เปิด http | http-ส่วนหัว: | วันที่: พุธ 15 พ.ย. 2017 05:10:04 GMT | เซิร์ฟเวอร์: Apache/2.4.7 (Ubuntu) | ยอมรับ-ช่วง: ไบต์ | ต่างกันไป: ยอมรับ-เข้ารหัส | การเชื่อมต่อ: ปิด | ประเภทเนื้อหา: text/html | |_ (ประเภทคำขอ: HEAD) 179/tcp กรองแล้ว bgp 31337/tcp เปิด Elite Nmap เสร็จแล้ว: สแกน 1 ที่อยู่ IP (1 โฮสต์ขึ้นไป) ใน 20.96 วินาที

การใช้หมวดหมู่

คุณยังสามารถโหลดสคริปต์จากหมวดหมู่เดียวหรือจากรายการหมวดหมู่ที่คั่นด้วยเครื่องหมายจุลภาคได้ ในตัวอย่างนี้ เราใช้สคริปต์ทั้งหมดในหมวดหมู่เริ่มต้นและการออกอากาศเพื่อทำการสแกนบนโฮสต์ 192.168.56.1 .

$ nmap --ค่าเริ่มต้นของสคริปต์ ออกอากาศ 192.168.56.1

การใช้ * ไวด์การ์ด

สิ่งนี้มีประโยชน์เมื่อคุณต้องการเลือกสคริปต์ที่มีรูปแบบชื่อที่กำหนด เช่น โหลดสคริปต์ทั้งหมดที่มีชื่อขึ้นต้นด้วย สชให้รันคำสั่งด้านล่างบนเทอร์มินัล:

$ nmap --script "ssh-*" 192.168.56.1

การใช้นิพจน์บูลีน

คุณยังสามารถเลือกสคริปต์โดยใช้นิพจน์บูลีนซึ่งคุณสามารถสร้างได้โดยใช้ และ, หรือ, และ ไม่ตัวดำเนินการ และชื่อในนิพจน์บูลีนอาจเป็นหมวดหมู่ชื่อไฟล์จาก script.dbหรือทั้งหมด

คำสั่งต่อไปนี้จะโหลดสคริปต์จากหมวดหมู่เริ่มต้นหรือหมวดหมู่การออกอากาศ

$ nmap --script "ค่าเริ่มต้นหรือการออกอากาศ" 192.168.56.10

ซึ่งเทียบเท่ากับ:

$ nmap --ค่าเริ่มต้นของสคริปต์ ออกอากาศ 192.168.56.10

หากต้องการโหลดสคริปต์ทั้งหมดโดยละเว้นสคริปต์เหล่านั้นใน หยาบคายหมวดหมู่ ให้รันคำสั่งนี้บนเทอร์มินัล

$ nmap --script "ไม่หยาบคาย" 192.168.56.10

คำสั่งถัดไปดูซับซ้อนเล็กน้อยแต่เข้าใจง่าย โดยจะเลือกสคริปต์ตามค่าเริ่มต้นหรือหมวดหมู่การออกอากาศ ยกเว้นคำสั่งที่มีชื่อขึ้นต้นด้วย ssh-:

$ nmap --script "(ค่าเริ่มต้นหรือการออกอากาศ) และไม่ใช่ ssh-*" 192.168.56.10

ที่สำคัญ คุณสามารถรวมหมวดหมู่ ชื่อสคริปต์ ไดเร็กทอรีที่มีสคริปต์ที่คุณกำหนดเอง หรือนิพจน์บูลีนเพื่อโหลดสคริปต์ได้ ดังนี้:

$ nmap --script ออกอากาศ, vuln, ssh-auth-methods, /path/to/custom/scripts 192.168.56.10

การส่งผ่านอาร์กิวเมนต์ไปยังสคริปต์ NSE

ด้านล่างนี้เป็นตัวอย่างที่แสดงวิธีการส่งผ่านข้อโต้แย้งไปยังสคริปต์ด้วย --script-argsตัวเลือก:

$ nmap --script mysql-audit --script-args "mysql-audit.username="root", \ mysql-audit.password="password_here", mysql-audit.filename="nselib/data/mysql-cis. การตรวจสอบ""

หากต้องการส่งหมายเลขพอร์ต ให้ใช้ -พีตัวเลือก nmap:

$ nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username="root", \ mysql-audit.password="password_here", mysql-audit.filename = "nselib/data/mysql" -cis.audit""

คำสั่งข้างต้นนี้รันการตรวจสอบการกำหนดค่าความปลอดภัยของเซิร์ฟเวอร์ฐานข้อมูล MySQL กับส่วนต่างๆ ของ CIS MySQL v1.0.2เกณฑ์มาตรฐาน คุณสามารถสร้างไฟล์การตรวจสอบแบบกำหนดเองที่เป็นประโยชน์สำหรับการตรวจสอบ MySQL อื่นๆ ได้เช่นกัน

แค่นั้นแหละสำหรับตอนนี้ คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ในหน้า nmap man หรือตรวจสอบการใช้งาน NSE

หากต้องการเริ่มต้นเขียนสคริปต์ NSE ของคุณเอง โปรดดูคู่มือนี้: https://nmap.org/book/nse-tutorial.html

บทสรุป

เอ็นแมปเป็นเครื่องมือที่ทรงพลังและมีประโยชน์มากที่ผู้ดูแลระบบหรือเครือข่ายทุกคนต้องการในคลังแสงความปลอดภัยของตน – สสสเพียงเพิ่มประสิทธิภาพให้กับมันมากขึ้น

ในบทความนี้ เราแนะนำให้คุณรู้จักกับ โปรแกรมสคริปต์ Nmapและดูวิธีการค้นหาและใช้สคริปต์ต่างๆ ที่มีอยู่ภายใต้หมวดหมู่ต่างๆ หากคุณมีคำถามใด ๆ อย่าลังเลที่จะเขียนกลับมาหาเราผ่านแบบฟอร์มความคิดเห็นด้านล่าง

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

คำไม่กี่คำเกี่ยวกับ Nmap

ฉันแน่ใจว่าผู้อ่านนิตยสาร Hacker ส่วนใหญ่รู้ว่า Nmap คืออะไร และอาจใช้มันมากกว่าหนึ่งครั้งเพื่อสำรวจเครือข่ายและรวบรวมข้อมูล ส่วนใครที่ลืมหรือไม่รู้ ผมจะเตือนไว้เผื่อว่า:

  • Nmap เป็นเครื่องมือข้ามแพลตฟอร์มสำหรับการสแกนเครือข่าย ตรวจสอบความปลอดภัย กำหนดเวอร์ชันของระบบปฏิบัติการและบริการต่างๆ และอื่นๆ อีกมากมาย นี่เป็นยูทิลิตี้ที่ยืดหยุ่นและขยายได้ง่ายมากและถูกสร้างขึ้นโดยเอ็นจิ้นการเขียนสคริปต์ NSE
  • NSE (Nmap Scripting Engine) เป็นส่วนประกอบ Nmap ที่ทรงพลังซึ่งช่วยให้ผู้ใช้สามารถเขียนสคริปต์เพื่อทำให้งานเครือข่ายต่างๆ เป็นแบบอัตโนมัติ: การโต้ตอบที่ยืดหยุ่นมากขึ้นกับความสามารถของ Nmap ที่มีอยู่ การตรวจจับและการใช้ประโยชน์จากช่องโหว่ และอื่นๆ NSE มีพื้นฐานมาจากล่ามภาษา Lua
  • ลัวะ- ภาษาสคริปต์คล้ายกับจาวาสคริปต์

การกำหนดปัญหา

ตามที่ได้กล่าวไปแล้ว วันนี้เราจะขยายฟังก์ชันการทำงานของ Nmap ด้วยการเขียนสคริปต์ของเราเอง การแฮ็ก/เพนเทสต์มักจะเริ่มต้นด้วยการลาดตระเวนและการรวบรวมข้อมูล สิ่งแรกๆ ที่ต้องตรวจสอบคือการมีพอร์ตที่เปิดอยู่บนโฮสต์ที่อยู่ระหว่างการศึกษาและการระบุบริการที่ทำงานอยู่ เครื่องมือที่ดีที่สุดคงไม่มีวิธีใดที่จะดีไปกว่าการรวบรวมข้อมูลดังกล่าวมากกว่า Nmap ขั้นตอนถัดไปหลังจากการสแกนมักจะเป็นการค้นหาช่องโหว่สำหรับบริการที่พบหรือเลือกคู่เข้าสู่ระบบ: รหัสผ่านโดยใช้วิธีแบบ Brute Force

สมมติว่าคุณใช้ bruteforce THC-Hydra เพื่อเดารหัสผ่านสำหรับบริการต่างๆ (เช่น HTTP-Basic, SSH, MySQL) ในกรณีนี้ คุณต้องตั้งค่าไฮดราในแต่ละบริการแยกกัน คุณต้องจำคุณสมบัติของบริการและแฟล็กที่จำเป็นในการเปิดใช้งานไฮดรา และหากมีความจำเป็นต้องเดรัจฉานบริการมากกว่าห้าบริการจำนวนมากล่ะ.. ทำไมไม่ทำให้เป็นอัตโนมัติล่ะ?

เรามาเขียนสคริปต์ง่ายๆ ที่จะทำให้กระบวนการเปิด Hydra เป็นแบบอัตโนมัติเพื่อเลือกข้อมูลเข้าสู่ระบบ/รหัสผ่านสำหรับบริการเดียว (เช่น PostgreSQL) ในการทำเช่นนี้เราจะต้องมีเครื่องมือดังต่อไปนี้:

หากคุณยังไม่ได้ติดตั้ง Nmap และ/หรือ Hydra ให้แก้ไขปัญหานี้ทันที:

$ sudo apt-get ติดตั้ง nmap ไฮดรา

เอาล่ะ มาเริ่มกันเลย สคริปต์สำหรับ Nmap คือไฟล์ข้อความปกติที่มีนามสกุล *.nse ดังนั้นให้เปิดโปรแกรมแก้ไขข้อความที่คุณชื่นชอบและสร้างไฟล์ใหม่ ฉันจะใช้เป็นกลุ่ม:

$ เป็นกลุ่ม hydra.nse

โครงสร้างสคริปต์ NSE

ก่อนที่เราจะเริ่มเขียนต้องบอกว่าสคริปต์ทั้งหมดมีโครงสร้างที่แน่นอน นอกเหนือจากโค้ดซึ่งดำเนินการบางอย่างโดยอัตโนมัติแล้ว ยังมีคำอธิบายของสคริปต์ (มีไว้เพื่ออะไรและใช้งานอย่างไร) ข้อมูลเกี่ยวกับผู้เขียน ใบอนุญาต การพึ่งพาสคริปต์อื่น ๆ หมวดหมู่ที่สคริปต์นั้นอยู่ และอื่นๆ เรามาดูแต่ละส่วนเหล่านี้กันดีกว่า

คำอธิบายของสคริปต์

ส่วนนี้ประกอบด้วยคำอธิบายของสคริปต์ ความคิดเห็นจากผู้เขียน ตัวอย่างการแสดงผลลัพธ์ของสคริปต์บนหน้าจอ และคุณสมบัติเพิ่มเติม

สำหรับสคริปต์ของเราที่เลือกข้อมูลเข้าสู่ระบบ/รหัสผ่านสำหรับ PostgeSQL คำอธิบายจะมีลักษณะดังนี้:

คำอธิบาย = [[ กำลังดุร้ายบังคับบริการทั้งหมดที่ทำงานบนโฮสต์เป้าหมาย ผลลัพธ์จะถูกส่งกลับในตารางพร้อมกับแต่ละเส้นทาง วิธีการตรวจพบ การเข้าสู่ระบบและ/หรือรหัสผ่าน ]] --- -- @usage -- nmap --script hydra [--script-args "lpath= , ppath= "] -- -- @output -- บริการสถานะพอร์ต -- 80/tcp เปิด http -- | ไฮดรา: -- | รหัสผ่านเข้าสู่ระบบวิธีการเส้นทาง -- | 127.0.0.1/private/index.html Digest log pass -- |_ 127.0.0.1/simple/index.txt Basic user qwerty -- -- @args hydra.lpath: เส้นทางไปยังไฟล์ที่มีการเข้าสู่ระบบ ตัวอย่างเช่น -- nmap --script hydra --script-args="lpath=/home/my_logins.txt" -- @args hydra.ppath: เส้นทางไปยังไฟล์ที่มีรหัสผ่าน ตัวอย่างเช่น -- nmap --script hydra --script-args="ppath=/home/my_pass.txt"

ความคิดเห็น; --- - ความคิดเห็นหลายบรรทัด; @usage, @output, @args - ตัวอย่างของการเรียกสคริปต์, การแสดงผลลัพธ์บนหน้าจอ, อาร์กิวเมนต์ที่จำเป็นเมื่อโทร

ด้านบนใน @usage เราจะเห็นรูปแบบการเรียกใช้สคริปต์ ในกรณีนี้ จะระบุเฉพาะชื่อสคริปต์ (ไฮดรา) เท่านั้น สิ่งนี้จะเกิดขึ้นได้หากวางสคริปต์ไว้ในไดเร็กทอรี / /nmap/scripts/ มิฉะนั้นคุณจะต้องระบุเส้นทางแบบสัมบูรณ์หรือแบบสัมพัทธ์ ในอนาคต เราจะทำให้สามารถระบุอาร์กิวเมนต์ได้เมื่อเรียกใช้สคริปต์ อาร์กิวเมนต์ถูกระบุโดยใช้แฟล็ก --script-args " ในกรณีของเรา เราจะระบุเส้นทางไปยังไฟล์ด้วยการเข้าสู่ระบบ (lpath) และไปยังไฟล์ด้วยรหัสผ่าน (ppath) อาร์กิวเมนต์เป็นทางเลือก: โดยค่าเริ่มต้นเราจะค้นหาไฟล์ที่มีชื่อ login.txt และรหัสผ่าน txt ในไดเร็กทอรีปัจจุบัน

หมวดหมู่ที่มีสคริปต์อยู่ (หมวดหมู่)

เมื่อเขียนสคริปต์ NSE คุณสามารถระบุหมวดหมู่ได้ (หรือหลายหมวดหมู่) สิ่งนี้มีประโยชน์เมื่อผู้ใช้ Nmap ไม่ต้องการใช้สคริปต์เฉพาะ แต่เป็นชุดของสคริปต์ที่อยู่ในหมวดหมู่เดียวกัน ตัวอย่างบางหมวดหมู่:

  • auth - หมวดหมู่ที่สคริปต์กำหนดข้อมูลการรับรองความถูกต้องของโฮสต์เป้าหมาย
  • brute - หมวดหมู่ที่มีสคริปต์ช่วยระบุการเข้าสู่ระบบและรหัสผ่านสำหรับบริการต่างๆ
  • ค่าเริ่มต้น - หมวดหมู่ที่มีสคริปต์พื้นฐาน มีเกณฑ์บางอย่างที่กำหนดว่าสคริปต์อยู่ในหมวดหมู่นี้หรือไม่: ความเร็วในการสแกน, ความมีประโยชน์, ความน่าเชื่อถือ, การรักษาความลับ, เอาต์พุตภาพ;
  • มัลแวร์ - หมวดหมู่ที่ช่วยระบุโปรแกรมที่เป็นอันตราย

ตัวอย่างเช่น หากคุณต้องการรันสคริปต์ทั้งหมดจากหมวดหมู่การรับรองความถูกต้อง คำสั่งจะมีลักษณะดังนี้:

$ nmap --script=auth example.com

ในกรณีนี้ สคริปต์ของหมวดหมู่นี้จะเปิดตัวทีละตัวสำหรับโฮสต์ที่ระบุ สคริปต์ของเราอยู่ในหมวดหมู่เดรัจฉาน มาเพิ่มบรรทัดต่อไปนี้ในไฟล์:

หมวดหมู่ = ("เดรัจฉาน")

ข้อมูลผู้เขียน

แต่ละสคริปต์ประกอบด้วยข้อมูลเกี่ยวกับผู้เขียน ในกรณีของฉัน:

ผู้แต่ง = "โอลกา บาริโนวา"

ข้อมูลเกี่ยวกับใบอนุญาตที่ใช้

Nmap ยินดีต้อนรับการพัฒนาผู้ใช้ทั้งหมดและสนับสนุนการแบ่งปัน รวมถึงสคริปต์ NSE การระบุใบอนุญาตถือเป็นการยืนยันสิทธิ์ในการแชร์สคริปต์กับชุมชน ใบอนุญาต Nmap มาตรฐานมีลักษณะดังนี้:

ใบอนุญาต = "เหมือนกับ Nmap--ดูhttp://nmap.org/book/man-legal.html"

มาเพิ่มบรรทัดนี้ในสคริปต์ของเราด้วย

การพึ่งพาสคริปต์อื่น ๆ

พื้นที่นี้ประกอบด้วยชื่อของสคริปต์ NSE ที่ต้องดำเนินการก่อนที่จะเริ่มสคริปต์นี้เพื่อรับข้อมูลที่จำเป็น ตัวอย่างเช่น,

การพึ่งพา = ("smb-เดรัจฉาน")

ในกรณีของเรา คุณลักษณะนี้ไม่จำเป็น ดังนั้นเราจะไม่เพิ่มการขึ้นต่อกัน

โฮสต์และพอร์ต

Nmap จำเป็นต้องทราบว่าบริการใดและพอร์ตใดที่จะเรียกใช้สคริปต์ มีกฎพิเศษสำหรับสิ่งนี้:

  • prerule() - สคริปต์จะถูกดำเนินการหนึ่งครั้งก่อนที่จะสแกนโฮสต์ใด ๆ ซึ่งใช้สำหรับการดำเนินการเครือข่ายบางอย่าง
  • hostrule(host) - สคริปต์ถูกเรียกใช้งานสำหรับแต่ละโฮสต์จากตารางที่ใช้เป็นอาร์กิวเมนต์
  • portrule(โฮสต์, พอร์ต) - สคริปต์ถูกดำเนินการสำหรับแต่ละโฮสต์และสำหรับแต่ละพอร์ตจากตารางที่ใช้เป็นอาร์กิวเมนต์
  • postrule() - สคริปต์จะถูกดำเนินการหนึ่งครั้งหลังจากสแกนโฮสต์ใด ๆ ส่วนใหญ่ใช้สำหรับการประมวลผลผลลัพธ์ที่ได้รับ สรุปสถิติและอื่นๆ

มีห้องสมุดสำหรับสร้างกฎดังกล่าว ในสคริปต์ของเรา คุณจะต้องระบุหมายเลขพอร์ต (5432) และชื่อบริการ (postgresql) จากนั้นจะทำงานเฉพาะกับพอร์ตและบริการนี้เท่านั้น มีไลบรารีชอร์ตพอร์ตที่ได้รับความนิยมพอสมควรใน NSE ซึ่งรวมถึง วิธีการต่างๆ. เราจะใช้วิธีการ

Port_or_service (พอร์ต บริการ โปรโตคอล สถานะ)

โดยที่พอร์ตคือหมายเลขพอร์ต บริการคือชื่อบริการ โปรโตสคือชื่อโปรโตคอล (เช่น udp) สถานะคือสถานะ

วิธีการนี้จะคืนค่าเป็นจริงหากบริการกำลังถูกวิเคราะห์ซึ่งอยู่บนพอร์ตใดพอร์ตหนึ่งจากรายการพอร์ตหรือที่สอดคล้องกับบริการบางอย่างจากรายการบริการ นอกจากนี้ โปรโตคอลและสถานะจะถูกตรวจสอบความสอดคล้องหรือไม่ มิฉะนั้นจะถูกส่งกลับเป็นเท็จ
เพื่อให้สคริปต์ของเราทำงานกับ PostgreSQL ได้ เราจำเป็นต้องเพิ่มหมายเลขพอร์ตและชื่อบริการ:

Portrule = shortport.port_or_service((5432), ("postgresql"))

การเชื่อมต่อห้องสมุด

เรามาพูดนอกเรื่องโครงสร้างของสคริปต์สักครู่แล้วพิจารณาว่าไลบรารีภายนอกเชื่อมต่อกันอย่างไรซึ่งเป็นฟังก์ชันที่เราจะต้องเข้าถึง

ความต่อเนื่องมีให้เฉพาะสมาชิกเท่านั้น

ตัวเลือกที่ 1 เข้าร่วมชุมชน "ไซต์" เพื่ออ่านเนื้อหาทั้งหมดบนเว็บไซต์

การเป็นสมาชิกในชุมชนภายในระยะเวลาที่กำหนดจะทำให้คุณสามารถเข้าถึงเนื้อหาของแฮ็กเกอร์ทั้งหมด เพิ่มส่วนลดสะสมส่วนตัวของคุณและช่วยให้คุณสามารถสะสมคะแนน Xakep Score แบบมืออาชีพได้!

แมป [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

คำอธิบาย

แมป(" ผู้ทำแผนที่เครือข่าย") เป็นโปรแกรมอรรถประโยชน์โอเพ่นซอร์ส รหัสแหล่งที่มาสำหรับการสำรวจเครือข่ายและการทดสอบความปลอดภัย ได้รับการออกแบบมาเพื่อการสแกนเครือข่ายขนาดใหญ่อย่างรวดเร็ว แม้ว่าจะทำงานได้ดีกับเป้าหมายเดียวก็ตาม Nmap ใช้แพ็กเก็ต IP แบบดิบในวิธีที่ชาญฉลาดเพื่อพิจารณาว่าโฮสต์ใดบ้างที่พร้อมใช้งานบนเครือข่าย บริการใด (ชื่อแอปพลิเคชันและเวอร์ชัน) ที่พวกเขาเสนอ ระบบปฏิบัติการใด (และเวอร์ชันของระบบปฏิบัติการ) ที่พวกเขาใช้ ประเภทของตัวกรองแพ็คเก็ต/ไฟร์วอลล์ที่พวกเขาใช้ และอีกมากมาย ลักษณะอื่นๆ แม้ว่า Nmap มักใช้สำหรับการทดสอบความปลอดภัย แต่ก็มีหลายอย่าง ผู้ดูแลระบบพบว่ามีประโยชน์สำหรับงานทั่วไป เช่น การตรวจสอบโครงสร้างเครือข่าย การจัดการกำหนดเวลาการเริ่มต้นบริการ และการติดตามโฮสต์หรือเวลาให้บริการ

เอาต์พุต Nmap คือรายการเป้าหมายที่สแกนด้วย ข้อมูลเพิ่มเติมสำหรับแต่ละรายการขึ้นอยู่กับตัวเลือกที่ระบุ ข้อมูลที่สำคัญก็คือ « ตารางท่าเรือที่สำคัญ» . ตารางนี้ประกอบด้วยหมายเลขพอร์ต โปรโตคอล ชื่อบริการ และสถานะ สถานะสามารถเปิด กรอง ปิด หรือไม่กรองได้ เปิดหมายความว่าแอปพลิเคชันบนเครื่องเป้าหมายพร้อมที่จะสร้างการเชื่อมต่อ/รับแพ็กเก็ตบนพอร์ตนั้น ตัวกรองหมายความว่าไฟร์วอลล์ ตัวกรองเครือข่าย หรือความยุ่งเหยิงของเครือข่ายอื่นๆ กำลังบล็อกพอร์ต และ Nmap ไม่สามารถระบุได้ว่าพอร์ตนั้นเปิดหรือปิดอยู่ พอร์ตที่ปิดไม่เกี่ยวข้องกับแอปพลิเคชันใดๆ แต่สามารถเปิดได้ตลอดเวลา พอร์ตจะถือว่าไม่มีการกรองเมื่อตอบสนองต่อคำขอ Nmap แต่ Nmap ไม่สามารถระบุได้ว่าเปิดหรือปิดอยู่ ปัญหา Nmap เปิด | กรองและปิด | กรองเมื่อไม่สามารถระบุได้ว่าสถานะใดในสองสถานะนี้อธิบายพอร์ต ตารางนี้ยังสามารถให้รายละเอียดเกี่ยวกับเวอร์ชันของซอฟต์แวร์ได้หากต้องการ เมื่อทำการสแกนโปรโตคอล IP (-sO) Nmap จะให้ข้อมูลเกี่ยวกับโปรโตคอลที่รองรับแทนที่จะเปิดพอร์ต

นอกจากตารางพอร์ตที่สำคัญแล้ว Nmap ยังสามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมาย: ชื่อ DNS ที่แก้ไขแล้ว, เดาเกี่ยวกับพอร์ตที่ใช้งานอยู่ ระบบปฏิบัติการประเภทอุปกรณ์และที่อยู่ MAC

การสแกนทั่วไปโดยใช้ Nmap จะแสดงในตัวอย่างที่ 1 อาร์กิวเมนต์เดียวที่ใช้ในตัวอย่างนี้คือ -A สำหรับการตรวจหาเวอร์ชัน OS การสแกนสคริปต์ และการติดตาม -T4 เพื่อการดำเนินการที่รวดเร็วยิ่งขึ้น จากนั้นโฮสต์เป้าหมายสองตัว

ตัวอย่างที่ 1: ตัวอย่างการสแกนทั่วไปด้วย Nmap

# nmap -A -T4 scanme..org) พอร์ตที่น่าสนใจบน scanme.site (64.13.134.52): (พอร์ต 1663 ที่สแกน แต่ไม่แสดงด้านล่างอยู่ในสถานะ: กรองแล้ว) เวอร์ชันบริการสถานะพอร์ต 22/tcp เปิด ssh OpenSSH 3.9p1 (โปรโตคอล 1.99) 53/tcp เปิดโดเมน 70/tcp ปิดโกเฟอร์ 80/tcp เปิด http Apache httpd 2.0.52 ((Fedora)) 113/tcp ปิดการตรวจสอบสิทธิ์ ประเภทอุปกรณ์: วัตถุประสงค์ทั่วไป ทำงาน: Linux 2.4.X|2.5.X| รายละเอียดระบบปฏิบัติการ 2.6.X: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 พอร์ตที่น่าสนใจบนสนามเด็กเล่น..168.0.40): (พอร์ต 1659 ที่ถูกสแกนแต่ไม่แสดงด้านล่างอยู่ในสถานะ: ปิด) พอร์ต บริการของรัฐเวอร์ชัน 135/tcp เปิด msrpc ไมโครซอฟต์ วินโดวส์ RPC 139/tcp เปิด netbios-ssn 389/tcp เปิด ldap? 445/tcp เปิด microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp เปิด windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (ความละเอียด 400x250; พอร์ต VNC: 5900) 5900/tcp open วีเอ็นซี วีเอ็นซี(โปรโตคอล 3.8) ที่อยู่ MAC: 00:A0:CC:63:85:4B (การสื่อสารแบบ Lite-on) ประเภทอุปกรณ์: วัตถุประสงค์ทั่วไป การทำงาน: รายละเอียดระบบปฏิบัติการ Microsoft Windows NT/2K/XP: Microsoft Windows XP Pro RC1+ ผ่านบริการรุ่นสุดท้าย ข้อมูล: ระบบปฏิบัติการ: Windows, Windows XP Nmap เสร็จสิ้น: 2 ที่อยู่ IP (2 โฮสต์ขึ้นไป) สแกนใน 88.392 วินาที


สามารถดาวน์โหลด Nmap เวอร์ชันล่าสุดได้จาก

  • การค้นพบบริการและเวอร์ชันต่างๆ
  • คำจำกัดความของระบบปฏิบัติการ
  • ตัวเลือกการจัดการเวลาและประสิทธิผล
  • ตัวเลือกต่างๆ
  • การโต้ตอบที่รันไทม์
  • ตัวอย่าง
  • ข้อมูลเกี่ยวกับสคริปต์ Nmap (เป็นภาษาอังกฤษ):

    ซ่อนไว้จากแขก


    เอกสาร Nmap เวอร์ชันล่าสุด (เป็นภาษาอังกฤษ):

    ซ่อนไว้จากแขก


    หนังสืออย่างเป็นทางการเกี่ยวกับ Nmap จากผู้สร้าง Nmap (เป็นภาษาอังกฤษ):

    ซ่อนไว้จากแขก

    คำนำ

    nmap - ยูทิลิตี้สำรวจเครือข่ายและเครื่องสแกนพอร์ต

    Nmap (“Network Mapper”) คือยูทิลิตี้การสำรวจเครือข่ายโอเพ่นซอร์สและการทดสอบความปลอดภัย ได้รับการออกแบบมาเพื่อการสแกนเครือข่ายขนาดใหญ่อย่างรวดเร็ว แม้ว่าจะทำงานได้ดีกับเป้าหมายเดียวก็ตาม Nmap ใช้แพ็กเก็ต IP แบบดิบในวิธีที่ชาญฉลาดเพื่อพิจารณาว่าโฮสต์ใดบ้างที่พร้อมใช้งานบนเครือข่าย บริการใด (ชื่อแอปพลิเคชันและเวอร์ชัน) ที่พวกเขาเสนอ ระบบปฏิบัติการใด (และเวอร์ชันของระบบปฏิบัติการ) ที่พวกเขาใช้ ประเภทของตัวกรองแพ็คเก็ต/ไฟร์วอลล์ที่พวกเขาใช้ และคุณสมบัติอื่นๆอีกมากมาย.. แม้ว่าโดยทั่วไปจะใช้ Nmap สำหรับการทดสอบความปลอดภัย ผู้ดูแลระบบเครือข่ายและระบบจำนวนมากพบว่ามีประโยชน์สำหรับงานทั่วไป เช่น การตรวจสอบโครงสร้างเครือข่าย การจัดการกำหนดเวลาการเริ่มต้นบริการ และการติดตามโฮสต์หรือเวลาให้บริการของบริการ

    ผลลัพธ์ของ Nmap คือรายการเป้าหมายที่สแกนพร้อมข้อมูลเพิ่มเติมสำหรับแต่ละรายการ ขึ้นอยู่กับตัวเลือกที่ระบุ ข้อมูลสำคัญคือ "ตารางพอร์ตที่สำคัญ" ตารางนี้ประกอบด้วยหมายเลขพอร์ต โปรโตคอล ชื่อบริการ และสถานะ สถานะสามารถเปิด กรอง ปิด หรือไม่กรองได้ เปิดหมายความว่าแอปพลิเคชันบนเครื่องเป้าหมายพร้อมที่จะสร้างการเชื่อมต่อ/รับแพ็กเก็ตบนพอร์ตนั้น ตัวกรองหมายความว่าไฟร์วอลล์ ตัวกรองเครือข่าย หรือการรบกวนเครือข่ายอื่นๆ กำลังบล็อกพอร์ต และ Nmap ไม่สามารถระบุได้ว่าพอร์ตนั้นเปิดหรือปิดอยู่ พอร์ตที่ปิดจะไม่เชื่อมโยงกับแอปพลิเคชันใดๆ ดังนั้นจึงสามารถเปิดได้ตลอดเวลา พอร์ตจะถือว่าไม่มีการกรองเมื่อตอบสนองต่อคำขอ Nmap แต่ Nmap ไม่สามารถระบุได้ว่าพอร์ตเหล่านั้นเปิดหรือปิดอยู่ ปัญหา Nmap เปิด | กรอง และ ปิด | กรอง เมื่อไม่สามารถระบุได้ว่าสถานะใดในสองสถานะนี้อธิบายพอร์ต ตารางนี้ยังสามารถให้รายละเอียดเกี่ยวกับเวอร์ชันของซอฟต์แวร์ได้หากต้องการ เมื่อทำการสแกนโปรโตคอล IP (-sO) Nmap จะให้ข้อมูลเกี่ยวกับโปรโตคอล IP ที่รองรับแทนที่จะเปิดพอร์ต

    นอกเหนือจากตารางพอร์ตที่สำคัญแล้ว Nmap ยังสามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมาย: ชื่อ DNS ที่แก้ไขแล้ว การเดาเกี่ยวกับระบบปฏิบัติการที่ใช้ ประเภทอุปกรณ์ และที่อยู่ MAC

    การสแกนทั่วไปโดยใช้ Nmap จะแสดงในตัวอย่างที่ 1 อาร์กิวเมนต์เดียวที่ใช้ในตัวอย่างนี้คือ -A เพื่อกำหนดเวอร์ชันของระบบปฏิบัติการ การสแกนสคริปต์ และการติดตาม -T4 เพื่อการดำเนินการที่รวดเร็วยิ่งขึ้น จากนั้นโฮสต์เป้าหมายสองตัว

    ตัวอย่างที่ 1: ตัวอย่างทั่วไปของการสแกนด้วย Nmap:

    # nmap -A -T4 scanme.nmap.org สนามเด็กเล่น การเริ่มต้น Nmap (https://nmap.org/) พอร์ตที่น่าสนใจบน scanme.nmap.org (64.13.134.52): (สแกนพอร์ต 1663 แต่ไม่แสดงด้านล่างอยู่ในสถานะ : กรองแล้ว) เวอร์ชันบริการของพอร์ต 22/tcp open ssh OpenSSH 3.9p1 (โปรโตคอล 1.99) 53/tcp โดเมนเปิด 70/tcp ปิด gopher 80/tcp เปิด http Apache httpd 2.0.52 ((Fedora)) 113/tcp ปิดอุปกรณ์รับรองความถูกต้อง ประเภท: วัตถุประสงค์ทั่วไป ทำงาน: Linux 2.4.X|2.5.X|2.6.X รายละเอียดระบบปฏิบัติการ: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 พอร์ตที่น่าสนใจบน Playground.nmap.org (192.168.0.40 ): (พอร์ต 1659 ที่สแกน แต่ไม่แสดงด้านล่างอยู่ในสถานะ: ปิด) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? 445/tcp เปิด microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp เปิด windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q.931 CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (ความละเอียด 400x250; พอร์ต VNC: 5900) 5900/tcp open vnc VNC (โปรโตคอล 3.8) MAC ที่อยู่: 00:A0:CC:63:85:4B (Lite-on Communications) ประเภทอุปกรณ์: วัตถุประสงค์ทั่วไป ใช้งาน: Microsoft Windows NT/2K/XP รายละเอียดระบบปฏิบัติการ: Microsoft Windows XP Pro RC1+ ผ่านการเผยแพร่ครั้งสุดท้าย ข้อมูลบริการ: ระบบปฏิบัติการ: Windows , Windows XP Nmap เสร็จสิ้น: สแกนที่อยู่ IP 2 รายการ (โฮสต์ 2 รายการขึ้นไป) ภายใน 88.392 วินาที

    สรุปตัวเลือก

    การใช้งาน:
    nmap [ประเภทการสแกน] [ตัวเลือก] (specified_targets)

    การกำหนดเป้าหมายของการสแกน:

    สามารถทำงานร่วมกับชื่อโฮสต์ ที่อยู่ IP เครือข่าย ฯลฯ
    ตัวอย่างเช่น: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
    -iL<ввести_имя_файла>: นำเข้าจากรายการโฮสต์/เครือข่าย
    -ไออาร์<количество хостов>: เลือกเป้าหมายแบบสุ่ม
    -ไม่รวม : ไม่รวมโฮสต์/เครือข่าย
    –ไม่รวมไฟล์<файл_с_исключениями>: แยกรายการออกจากไฟล์

    การตรวจจับโฮสต์:

    SL: กำลังสแกนเพื่อสร้างรายการ - เพียงสร้างรายการเป้าหมายที่จะสแกน
    -sn: การสแกน Ping - เพียงตรวจสอบว่าโฮสต์กำลังทำงานอยู่หรือไม่
    -Pn: ถือว่าโฮสต์ทั้งหมดพร้อมใช้งาน - ข้ามการตรวจจับโฮสต์
    -PS/PA/PU/PY[port_list]: TCP SYN/ACK, UDP หรือ SCTP ping โฮสต์ที่ระบุ
    -PE/PP/PM: ส่ง Ping โดยใช้คำขอ ICMP echo, การประทับเวลา และคำขอ netmask
    -PO[protocol_list]: ส่ง Ping โดยใช้โปรโตคอล IP
    -n/-R: ไม่ต้องแก้ไข DNS/แก้ไขเสมอ [ค่าเริ่มต้น: บางครั้ง]
    –เซิร์ฟเวอร์ DNS<сервер1[,сервер2],…>: ตั้งค่าเซิร์ฟเวอร์ DNS ของคุณเอง
    –system-dns: ใช้ตัวแก้ไข DNS ของระบบ
    –traceroute: ติดตาม (ติดตามเส้นทาง) ไปยังแต่ละโฮสต์

    เทคนิคการสแกนที่แตกต่างกัน:

    SS/sT/sA/sW/sM: TCP SYN/ใช้การเรียกระบบ Connect()/ACK/Window/Maimon scan
    -sU: สแกน UDP
    -sN/sF/sX: การสแกน TCP Null, FIN และ Xmas
    –สแกนแฟล็ก<флаги>: ตั้งค่าแฟล็ก TCP ของคุณเอง
    -sI<зомби_хост[:порт]>: การสแกนเมื่อไม่ได้ใช้งาน
    -sY/sZ: การสแกน SCTP INIT/COOKIE-ECHO
    -sO: การสแกนโปรโตคอล IP
    -ข : การสแกนการตีกลับ FTP

    คำจำกัดความของพอร์ตและลำดับการสแกน:

    ป<диапазон_портов>: สแกนเฉพาะพอร์ตที่กำหนด
    ตัวอย่าง: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    -F: Fast Scan – สแกนพอร์ตจำนวนจำกัด
    -r: สแกนพอร์ตตามลำดับ - อย่าสุ่มพอร์ต
    –บนพอร์ต<количество_портов>: สแกน<количество_портов>พอร์ตทั่วไป
    –พอร์ตอัตราส่วน<рейтинг>: สแกนพอร์ตที่มีเรตติ้งมากกว่า<рейтинг>

    คำจำกัดความของบริการและเวอร์ชัน:

    SV: สำรวจ เปิดพอร์ตเพื่อกำหนดข้อมูลบริการ/เวอร์ชัน
    –เวอร์ชันความเข้ม<уровень>: ตั้งค่าจาก 0 (ง่าย) ถึง 9 (ลองคำขอทั้งหมด)
    –version-light: จำกัดเฉพาะข้อความค้นหาที่เบาที่สุด (ความเข้ม 2)
    –version-all: ใช้ทุกคำขอเดียว (ความเข้ม 9)
    –การติดตามเวอร์ชัน: เอาต์พุต รายละเอียดข้อมูลเกี่ยวกับกระบวนการสแกน (สำหรับการดีบัก)

    สแกนโดยใช้สคริปต์:

    SC: เทียบเท่ากับตัวเลือก –script=default
    –สคริปต์= : นี่คือรายการไดเร็กทอรี ไฟล์สคริปต์ หรือหมวดหมู่สคริปต์ที่คั่นด้วยเครื่องหมายจุลภาค
    –script-args=<имя1=значение1,[имя2=значение2,…]>: การส่งผ่านข้อโต้แย้งไปยังสคริปต์
    –script-args-file=filename: ส่งผ่านอาร์กิวเมนต์ของไฟล์ไปยังสคริปต์ NSE
    –script-trace: พิมพ์ข้อมูลที่ได้รับและส่งออกทั้งหมด
    –script-updatedb: อัปเดตฐานข้อมูลสคริปต์
    –script-help= : แสดงความช่วยเหลือเกี่ยวกับสคริปต์ รายการสคริปต์ที่คั่นด้วยเครื่องหมายจุลภาคหรือรายการหมวดหมู่สคริปต์

    คำจำกัดความของระบบปฏิบัติการ:

    O: เปิดใช้งานฟังก์ชันการตรวจจับ OS
    –osscan-limit: ใช้ฟังก์ชันการตรวจจับ OS สำหรับโฮสต์ที่ "มีแนวโน้ม" เท่านั้น
    –osscan-guess: เดาผลการตรวจจับ OS

    ตัวเลือกการจัดการเวลาและประสิทธิผล:

    ตัวเลือกที่โต้แย้ง<время>กำหนดเป็นมิลลิวินาทีจนกว่าคุณจะเพิ่ม "s" (วินาที), "m" (นาที) หรือ "h" (ชั่วโมง) เข้ากับค่า (เช่น 30m)
    -ต<0-5>: ตั้งค่าเทมเพลตการตั้งค่าการบริหารเวลา (ยิ่งเร็วยิ่งดี)
    –min-hostgroup/max-hostgroup<кол_хостов>: ตั้งค่าขนาดกลุ่มสำหรับการสแกนแบบขนาน
    –ขั้นต่ำ-ขนาน/สูงสุด-ขนาน<кол_хостов>: ควบคุมการร้องขอแบบขนาน
    –min-rtt-หมดเวลา/สูงสุด-rtt-หมดเวลา/เริ่มต้น-rtt-หมดเวลา<время>: ปรับเวลาที่ใช้ในการรอการตอบกลับคำขอ
    –ลองใหม่สูงสุด<количество_попыток>: ตั้งค่าจำนวนสูงสุดของการส่งคำขอซ้ำ
    –โฮสต์หมดเวลา<время>: หยุดการสแกนเป้าหมายที่ช้า
    –scan-delay/–max-scan-delay<время>: ปรับความล่าช้าระหว่างคำขอ
    –อัตราขั้นต่ำ<число>: ส่งคำขอที่มีความเข้มข้นไม่ต่ำกว่า<число>ต่อวินาที
    –อัตราสูงสุด<число>: ส่งคำขอที่มีความเข้มข้นไม่เกิน<число>ต่อวินาที

    การข้ามไฟร์วอลล์/IDS:

    ฉ; –mtu<значение>: แพ็กเก็ตแฟรกเมนต์ (เป็นทางเลือกพร้อมค่า MTU ที่ระบุ)
    -D<фикт_хост1,фикт_хост2[,ME],…>: มาสก์สแกนโดยใช้โฮสต์จำลอง
    -ส : เปลี่ยนที่อยู่ต้นทาง
    -e<интерфейс>: ใช้อินเทอร์เฟซเฉพาะ
    -g/–พอร์ตต้นทาง<номер_порта>: ใช้หมายเลขพอร์ตที่ระบุ
    –ผู้รับมอบฉันทะ : การเชื่อมต่อรีเลย์ผ่านพร็อกซี HTTP/SOCKS4
    –ความยาวของข้อมูล<число>: เพิ่มข้อมูลที่กำหนดเองลงในแพ็กเก็ตที่ส่ง
    –ip-ตัวเลือก<опции>: ส่งแพ็กเก็ตพร้อมตัวเลือก IP ที่ระบุ
    –ttl<значение>: ตั้งเวลาใช้งานช่อง IP (อายุการใช้งาน)
    –spoof-mac : ตั้งค่าที่อยู่ MAC ของคุณเอง
    –badsum: ส่งแพ็กเก็ตที่มีเช็คซัม TCP/UDP/SCTP ปลอม

    ผลลัพธ์ของผลลัพธ์:

    ON/-oX/-oS/-oG ผลลัพธ์ของเอาต์พุตปกติ, XML, s| -โอเอ<базовове_имя_файла>: ใช้รูปแบบเอาต์พุตหลักสามรูปแบบพร้อมกัน
    -v: เพิ่มระดับวาจา (ตั้งค่าสองครั้งขึ้นไปเพื่อเพิ่มเอฟเฟกต์)
    -d: เพิ่มหรือตั้งค่าระดับการดีบัก (สูงสุด 9)
    –เหตุผล: แสดงสาเหตุที่พอร์ตอยู่ในสถานะที่กำหนด
    –open: แสดงเฉพาะพอร์ตที่เปิด (หรืออาจเปิด)
    –packet-trace: ติดตามแพ็กเก็ตที่ได้รับและส่ง
    –iflist: แสดงรายการอินเทอร์เฟซและเราเตอร์ (สำหรับการดีบัก)
    –log-errors: บันทึกข้อผิดพลาด/คำเตือนไปยังไฟล์เอาท์พุตโหมดปกติ
    –ผนวก-เอาต์พุต: ผนวกเข้ากับไฟล์เอาต์พุตแทนที่จะเขียนทับ
    -ประวัติย่อ<имя_файла>: ดำเนินการสแกนแบบขัดจังหวะต่อไป
    –สไตล์ชีต<путь/URL>: ตั้งค่าสไตล์ชีต XSL สำหรับการแปลงเอาต์พุต XML เป็น HTML
    –webxml: โหลดสไตล์ชีทจาก Nmap.Org
    –no-stylesheet: ลบการประกาศสไตล์ชีต XSL ออกจาก XML

    ตัวเลือกต่างๆ:

    6: เปิดใช้งานการสแกน IPv6
    -A: เปิดใช้งานการตรวจจับระบบปฏิบัติการและเวอร์ชัน การสแกนตามสคริปต์ และคุณสมบัติการติดตาม
    –ดาต้าไดร์<имя_директории>: กำหนดตำแหน่งของไฟล์ Nmap
    –send-eth/–send-ip: ใช้เลเยอร์อีเธอร์เน็ต/IP แบบดิบ
    –privileged: สมมติว่าผู้ใช้มีสิทธิ์ทั้งหมด
    –unprivileged: บอกเป็นนัยว่าผู้ใช้ไม่มีสิทธิ์ใช้ซ็อกเก็ตดิบ
    -V: พิมพ์หมายเลขเวอร์ชัน
    -h: แสดงหน้าความช่วยเหลือนี้

    คำสั่งแบบโต้ตอบ:

    ช่วยเหลือ: จะไม่ทำงานกับ “sudo nmap” ดังนั้นให้ใช้ “sudo –i”
    ขณะรัน คุณสามารถสืบค้น nmap ด้วยคีย์ต่อไปนี้:
    ? แสดงข้อมูลนี้
    v/V เพิ่ม/ลดคำพูด
    d/D เพิ่ม/ลดการดีบัก
    p/P เปิด/ปิดการติดตามแพ็กเก็ต
    และปุ่มอื่นๆ ที่จะพิมพ์อยู่ในสถานะ

    ตัวอย่าง:
    การกำหนดเป้าหมายการสแกน

    บนบรรทัดคำสั่ง Nmap สิ่งใดก็ตามที่ไม่ใช่ตัวเลือก (หรืออาร์กิวเมนต์ตัวเลือก) จะถือเป็นเป้าหมายการสแกน ในกรณีที่ง่ายที่สุด ที่อยู่ IP หรือชื่อเครือข่ายของเครื่องเป้าหมายจะถูกใช้สำหรับการสแกน

    บางครั้งจำเป็นต้องสแกนทั้งเครือข่าย เพื่อให้บรรลุเป้าหมายนี้ Nmap รองรับการกำหนดที่อยู่ CIDR คุณสามารถเพิ่ม /<кол-во бит>ไปยังที่อยู่ IP หรือชื่อเครือข่ายและ Nmap จะสแกนที่อยู่ IP แต่ละรายการซึ่งเป็นที่อยู่แรก<кол-во бит>เช่นเดียวกับโฮสต์ที่ระบุ ตัวอย่างเช่น 192.168.10.0/24 จะสแกน 256 โฮสต์ระหว่าง 192.168.10.0 (ไบนารี: 11000000 10101000 00001010 00000000) และ 192.168.10.255 (ไบนารี: 11000000 10101000 0 0001010 11111111) รวมอยู่ด้วย 192.168.10.40/24 จะทำสิ่งเดียวกันทุกประการ เมื่อทราบว่าที่อยู่ IP ของ scanme.nmap.org คือ 64.13.134.52 บันทึกเช่น scanme.nmap.org/16 จะสแกนที่อยู่ IP 65,536 รายการระหว่าง 64.13.0.0 ถึง 64.13.255.255 ค่าที่น้อยที่สุดที่ยอมรับได้คือ /0 ซึ่งจะใช้สแกนอินเทอร์เน็ตทั้งหมด ค่าสูงสุดคือ /32 ซึ่งเฉพาะโฮสต์หรือที่อยู่ IP ที่ระบุเท่านั้นที่จะถูกสแกนเนื่องจาก บิตที่อยู่ทั้งหมดถูกปิดใช้งาน

    สัญกรณ์ CIDR นั้นสั้น แต่ไม่ยืดหยุ่นเพียงพอเสมอไป ตัวอย่างเช่น คุณต้องการสแกน 192.168.0.0/16 แต่ข้าม IP ทั้งหมดที่ลงท้ายด้วย .0 หรือ .255 เนื่องจาก โดยปกติจะเป็นที่อยู่ออกอากาศ Nmap สามารถทำการสแกนนี้ได้โดยระบุช่วงเป็นออคเต็ต แทนที่จะระบุที่อยู่ IP ปกติ คุณสามารถกำหนดรายการตัวเลขหรือช่วงที่คั่นด้วยเครื่องหมายจุลภาคให้กับแต่ละออคเต็ตได้ ตัวอย่างเช่น 192.168.0-255.1-254 จะส่งผ่านที่อยู่ทั้งหมดในช่วงที่ลงท้ายด้วย .0 และ .255 ไม่จำเป็นต้องระบุช่วงเฉพาะในออคเต็ตสุดท้าย: การเขียน 0-255.0-255.13.37 จะสแกนที่อยู่อินเทอร์เน็ตทั้งหมดที่ลงท้ายด้วย 13.37 การสแกนประเภทนี้มีประโยชน์สำหรับการท่องอินเทอร์เน็ตและการศึกษาต่างๆ

    สามารถระบุที่อยู่ IPv6 ในรูปแบบที่สอดคล้องกับรูปแบบการเขียนที่อยู่ IPv6 ที่ถูกต้องเท่านั้น CIDR และการใช้ช่วงในออคเต็ตไม่สามารถใช้ได้กับที่อยู่ IPv6 เนื่องจาก พวกมันไม่ค่อยได้ใช้

    คุณสามารถส่งคำจำกัดความเป้าหมายที่แตกต่างกันได้บนบรรทัดคำสั่ง Nmap ไม่จำเป็นต้องเป็นประเภทเดียวกัน ทีม nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255จะทำสิ่งที่คุณคาดหวัง

    โดยปกติแล้วเป้าหมายการสแกนจะถูกระบุบนบรรทัดคำสั่ง และมีตัวเลือกต่างๆ เพื่อควบคุมการเลือกเป้าหมาย:

    อิลลินอยส์<имя_файла>(อินพุตจากรายการ)

    อ่านเป้าหมายจาก<имя_файла>. แม้ว่าการส่งรายชื่อโฮสต์จำนวนมากเพื่อทำการสแกนเป็นเรื่องปกติ แต่ก็ไม่สะดวก ตัวอย่างเช่น เซิร์ฟเวอร์ DHCP ของคุณจะแสดงรายการที่อยู่ 10,000 ที่อยู่ที่ใช้อยู่ในปัจจุบัน และคุณต้องการสแกน หรือบางทีคุณอาจต้องการสแกนที่อยู่ IP ทั้งหมด ยกเว้นที่อยู่ที่กำหนดเพื่อตรวจจับการใช้ที่อยู่ IP แบบคงที่โดยไม่ได้รับอนุญาต เพียงสร้างรายชื่อโฮสต์ที่จะสแกนและส่งชื่อไฟล์ไปที่ Nmap เพื่อเป็นอาร์กิวเมนต์ให้กับตัวเลือก -iL รายการในไฟล์สามารถอยู่ในรูปแบบใดก็ได้ที่ Nmap ยอมรับได้ (ที่อยู่ IP ชื่อเครือข่าย CIDR, IPv6 หรือช่วงออคเต็ต) แต่ละรายการจะต้องคั่นด้วยช่องว่างหรือมากกว่านั้น อักขระแท็บ หรืออักขระขึ้นบรรทัดใหม่ คุณสามารถส่งเครื่องหมายยติภังค์ (-) เป็นอาร์กิวเมนต์ชื่อไฟล์ได้ หากคุณต้องการให้ Nmap อ่านรายชื่อโฮสต์จากอินพุตมาตรฐาน แทนที่จะอ่านจากไฟล์

    นักลงทุนสัมพันธ์<кол-во хостов>(สุ่มเลือกเป้าหมาย)

    สำหรับการสแกนทั่วทั้งเว็บหรือการวิจัยใดๆ คุณอาจต้องเลือกเป้าหมายแบบสุ่ม การโต้แย้ง<кол-во хостов>กำหนดจำนวนที่อยู่ IP ที่ต้องสร้าง ที่อยู่ IP ที่ไม่เหมาะสม เช่น ช่วงที่อยู่ส่วนตัว การออกอากาศ หรือที่ไม่ได้แปลจะถูกข้ามไปโดยอัตโนมัติ อาร์กิวเมนต์ 0 สามารถส่งผ่านเพื่อสแกนได้อย่างไม่มีกำหนด โปรดทราบว่าผู้ดูแลระบบบางคนอาจไม่ชอบการสแกนเครือข่ายของตนโดยไม่ได้รับอนุญาตและอาจบ่น ใช้ตัวเลือกนี้โดยยอมรับความเสี่ยงเอง! หากคุณรู้สึกเบื่อในวันที่ฝนตก ลอง nmap -sS -PS80 -iR 0 -p 80 เพื่อสแกนเว็บเซิร์ฟเวอร์แบบสุ่ม

    -ไม่รวม<хост1>[,<хост2>[,…]] (ไม่รวมโฮสต์/เครือข่าย)

    ระบุรายการเป้าหมายที่คั่นด้วยเครื่องหมายจุลภาคที่จะแยกออกจากการสแกน แม้ว่าจะเป็นส่วนหนึ่งของช่วงการสแกนที่คุณระบุก็ตาม รายการที่ส่งผ่านใช้ไวยากรณ์ Nmap มาตรฐาน จึงสามารถประกอบด้วยชื่อเครือข่าย การกำหนดแอดเดรส CIDR ช่วงอ็อกเต็ต ฯลฯ ตัวเลือกนี้จะมีประโยชน์หากเครือข่ายที่คุณต้องการสแกนมีเซิร์ฟเวอร์หรือระบบที่ตอบสนองเชิงลบต่อการสแกนพอร์ต หรือเครือข่ายย่อยที่บุคคลอื่นดูแล

    –ไม่รวมไฟล์<имя_файла>(ไม่รวมรายการจากไฟล์)

    ตัวเลือกนี้ทำหน้าที่เหมือนกับ –ยกเว้น ยกเว้นว่าเป้าหมายที่จะยกเว้นจะถูกคั่นด้วยช่องว่าง แท็บ หรือการขึ้นบรรทัดใหม่<файле>ไม่ใช่บนบรรทัดคำสั่ง



     


    อ่าน:


    ใหม่

    วิธีฟื้นฟูรอบประจำเดือนหลังคลอดบุตร:

    เหตุใดแล็ปท็อปจึงต้องใช้ SSD ขนาดเล็กและคุ้มค่าที่จะติดตั้ง Windows ลงไปหรือไม่

    เหตุใดแล็ปท็อปจึงต้องใช้ SSD ขนาดเล็กและคุ้มค่าที่จะติดตั้ง Windows ลงไปหรือไม่

    ไดรฟ์ SSD สำหรับเกมมีความสำคัญเพียงใด มีผลกระทบอย่างไรและประโยชน์ของเทคโนโลยีนี้คืออะไร - นี่คือสิ่งที่จะกล่าวถึงในบทความของเรา โซลิดสเตต...

    การซ่อมแฟลชไดรฟ์โดยใช้โปรแกรมวิธีซ่อมแซมพอร์ต USB บนแล็ปท็อป

    การซ่อมแฟลชไดรฟ์โดยใช้โปรแกรมวิธีซ่อมแซมพอร์ต USB บนแล็ปท็อป

    จะแก้ไขพอร์ต USB ได้อย่างไร? คำตอบจากช่างเทคนิค: เมื่อใช้คอมพิวเตอร์ พอร์ต USB มักจะพัง ก่อนอื่นพวกเขาล้มเหลว...

    โครงสร้างดิสก์เสียหาย ไม่สามารถอ่านได้ ฉันควรทำอย่างไร?

    โครงสร้างดิสก์เสียหาย ไม่สามารถอ่านได้ ฉันควรทำอย่างไร?

    คอมพิวเตอร์ส่วนบุคคลของผู้ใช้มักจะจัดเก็บข้อมูลสำคัญ เช่น เอกสาร รูปภาพ วิดีโอ แต่การสำรองข้อมูลมักจะ...

    คอมพิวเตอร์ประกอบด้วยอะไรบ้าง?

    คอมพิวเตอร์ประกอบด้วยอะไรบ้าง?

    เผยแพร่: 01/14/2017 สวัสดีเพื่อน ๆ วันนี้เราจะพิจารณารายละเอียดการออกแบบหน่วยระบบคอมพิวเตอร์ เรามาดูกันว่าอะไร...

    ฟีดรูปภาพ อาร์เอสเอส