ก่อนที่เราจะไปใช้ Nmap เรามารู้จักข้อมูลของ Port ในเบื้องต้นกันก่อน Port คือหมายเลขที่ใช้ระบุประเภของการส่งข้อมูลระหว่างคอมพิวเตอร์ในระบบเครือข่ายจะมีช่วงหมายเลขตั่งแต่ 1 ถึง 65535 โดยแบ่งเป็นช่วงดังนี้
- Well-Know Port 1 ถึง 1023 เป็น Port มาตราฐานที่ใช้งานควบคุมการติดต่อสื่อสารที่เกิดขึ้นโดยระบบปฏิบัติการ
- Registered Port 1024 ถึง 49151 เป็น Port ที่ใช้งานกับรูปแบบการให้บริการต่างๆโดยที่มีหน่วยงานควบคุมดูแลคือ IANA
- Dynamic Port 49152 ถึง 65535 เป็น Port ที่อนุญาติให้ผ็ใช้งานสามารถนำไปกำหนดการใช้งานได้เอง
หมายเลข Port ที่สำคัญมีดังนี้
- 20 : FTP data
- 21 : FTP control port
- 22 : SSH
- 23 : Telnet
- 25 : SMTP
- 43 : WHOIS protocol
- 53 : DNS services
- 67 : DHCP server port
- 68 : DHCP client port
- 80 : HTTP
- 110 : POP3 mail port
- 113 : Ident authentication services on IRC networks
- 143 : IMAP mail port
- 161 : SNMP
- 194 : IRC
- 389 : LDAP port
- 443 : HTTPS
- 587 : SMTP message submission port
- 631 : CUPS printing daemon port
สำหรับ Port อื่นๆสามารถอ่านเพิ่มเติมได้ที่ http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
มาใช้ Nmap กันเริ่มด้วยการติดตั้งด้วยคำสั่ง
sudo apt-get install nmap
ลองใช้งานคำสั่งต่างๆของ Nmap ดังนี้
คำสั่งในการเรียกดูระบบปฏิบัติการใช้คำสั่ง
sudo namp –O ip_address
โดยทำการเปลี่ยนค่า ip_address เป็นหมายเลข IP Address ของเครื่องที่ต้องการเช่น
sudo namp –O 192.168.1.45
คำสั่งในการค้นหาเครื่องที่มีการทำงานอยู่แบบกำหนดช่วง IP Address ใช้คำสั่ง
sudo nmap -sP network_address_range
โดยทำการใส่ค่าช่วงหมายเลข IP Address ที่ต้องการหรือ Subnet ที่ต้องการเช่น
sudo nmap -sP 192.168.1.45-55
หรือ
sudo namp –sP 192.168.1.45/24
คำสั่งในการค้นหาโดยระบุหมายเลข Port ใช้คำสั่ง
sudo nmap -p port_number ip_address
โดยทำการเปลี่ยนค่า port_number เป็นหมายเลข Port ที่ต้องการและ ip_address เป็นหมายเลข IP Address ของเครื่องที่ต้องการเช่น
sudo nmap -p 80 192.168.1.45
คำสั่งในการค้นหาการเชื่อมต่อแบบ TCP ใช้คำสั่ง
sudo nmap -sT ip_address
คำสั่งในการค้นหาการเชื่อมต่อแบบ UDP ใช้คำสั่ง
sudo nmap -sU remote_host
คำสั่งในการค้นหา Version ของ Service ที่ทำงานอยู่ใช้คำสั่ง
sudo nmap -PN -p port_number -sV remote_host