۲۱۰ دستور کاربردی Nmap در لینوکس؛ از مبتدی تا حرفه‌ای

210 useful Nmap commands in Linux
0 دیدگاه
۱۴۰۵-۰۶-۱۱ ۱۳:۳۸:۱۹

اگر وارد دنیای امنیت سایبری، تست نفوذ یا مدیریت شبکه شده باشید، احتمالاً نام Nmap را بارها شنیده‌اید.

Nmap (Network Mapper) یکی از شناخته‌شده‌ترین ابزارهای متن‌باز برای کشف میزبان‌ها، اسکن پورت‌ها، شناسایی سرویس‌ها و نسخه آن‌ها، تشخیص سیستم‌عامل و انجام برخی بررسی‌های امنیتی است. مستندات رسمی Nmap نیز این ابزار را برای network discovery، administration و security auditing معرفی می‌کند.

در این آموزش، ۲۱۰ دستور و ترکیب کاربردی Nmap در لینوکس را از سطح مقدماتی تا پیشرفته بررسی می‌کنیم.

⚠️ هشدار قانونی: اسکن سیستم‌ها و شبکه‌هایی که مالک آن‌ها نیستید یا مجوز تست ندارید می‌تواند غیرقانونی یا موجب اختلال شود. دستورات این مقاله را روی سیستم شخصی، شبکه آزمایشگاهی یا محیط‌هایی که اجازه تست آن‌ها را دارید اجرا کنید.


بخش اول: آشنایی با Nmap

1. بررسی نصب بودن Nmap

nmap --version

نسخه نصب‌شده Nmap را نمایش می‌دهد.


2. نمایش Help

nmap -h

فهرست کوتاهی از گزینه‌های اصلی را نمایش می‌دهد.


3. نمایش Manual

man nmap

راهنمای کامل Nmap را باز می‌کند.


4. اجرای Nmap بدون پارامتر

nmap

ساختار کلی استفاده از Nmap را نمایش می‌دهد.


بخش دوم: Target Specification

5. اسکن یک IP

nmap 192.168.1.10

پایه‌ای‌ترین نوع اسکن Nmap.


6. اسکن یک hostname

nmap server.local

7. اسکن چند IP

nmap 192.168.1.10 192.168.1.20

8. اسکن محدوده IP

nmap 192.168.1.10-20

IPهای 10 تا 20 را بررسی می‌کند.


9. اسکن یک Subnet

nmap 192.168.1.0/24

برای مثال، شبکه /24 را بررسی می‌کند.


10. اسکن چند Subnet

nmap 192.168.1.0/24 10.0.0.0/24

11. خواندن اهداف از فایل

nmap -iL targets.txt

Nmap اهداف را از فایل دریافت می‌کند.


12. اسکن تعداد مشخصی IP تصادفی

nmap -iR 10

۱۰ هدف تصادفی انتخاب می‌کند.


13. حذف یک IP از اسکن

nmap 192.168.1.0/24 --exclude 192.168.1.10

14. حذف چند IP

nmap 192.168.1.0/24 --exclude 192.168.1.10,192.168.1.20

15. حذف اهداف با فایل

nmap 192.168.1.0/24 --excludefile exclude.txt

بخش سوم: Host Discovery

Host Discovery برای پیدا کردن سیستم‌های فعال در شبکه استفاده می‌شود. Nmap روش‌های مختلفی برای این کار دارد و صرفاً به ICMP Ping محدود نیست.

16. Ping Scan

nmap -sn 192.168.1.0/24

سیستم‌های فعال را پیدا می‌کند، بدون اینکه Port Scan معمول انجام دهد.


17. List Scan

nmap -sL 192.168.1.0/24

اهداف را فهرست می‌کند بدون اینکه اسکن معمول پورت انجام دهد.


18. غیرفعال کردن Host Discovery

nmap -Pn 192.168.1.10

Nmap فرض می‌کند هدف فعال است و مستقیماً اسکن را انجام می‌دهد.


19. ICMP Echo

sudo nmap -PE 192.168.1.10

20. ICMP Timestamp

sudo nmap -PP 192.168.1.10

21. ICMP Address Mask

sudo nmap -PM 192.168.1.10

22. TCP SYN Ping

sudo nmap -PS80 192.168.1.10

23. SYN Ping روی چند پورت

sudo nmap -PS22,80,443 192.168.1.10

24. TCP ACK Ping

sudo nmap -PA80 192.168.1.10

25. UDP Ping

sudo nmap -PU53 192.168.1.10

26. ARP Discovery

sudo nmap -PR 192.168.1.0/24

در شبکه‌های Ethernet محلی بسیار کاربردی است.


بخش چهارم: Port Scanning

پورت اسکن هسته اصلی Nmap محسوب می‌شود. Nmap انواع مختلف TCP و UDP scan را ارائه می‌کند.

27. TCP SYN Scan

sudo nmap -sS 192.168.1.10

یکی از رایج‌ترین روش‌های TCP scanning.


28. TCP Connect Scan

nmap -sT 192.168.1.10

زمانی کاربرد دارد که SYN Scan قابل استفاده نباشد.


29. UDP Scan

sudo nmap -sU 192.168.1.10

30. TCP ACK Scan

sudo nmap -sA 192.168.1.10

31. TCP Window Scan

sudo nmap -sW 192.168.1.10

32. TCP FIN Scan

sudo nmap -sF 192.168.1.10

33. TCP NULL Scan

sudo nmap -sN 192.168.1.10

34. Xmas Scan

sudo nmap -sX 192.168.1.10

35. IP Protocol Scan

sudo nmap -sO 192.168.1.10

بخش پنجم: انتخاب پورت‌ها

36. اسکن یک پورت

nmap -p 80 192.168.1.10

37. چند پورت

nmap -p 22,80,443 192.168.1.10

38. محدوده پورت

nmap -p 1-1000 192.168.1.10

39. تمام پورت‌های TCP

nmap -p- 192.168.1.10

40. پورت‌های 1 تا 65535

nmap -p 1-65535 192.168.1.10

41. اسکن پورت‌های رایج

nmap -F 192.168.1.10

-F حالت Fast را فعال می‌کند.


42. 10 پورت رایج

nmap --top-ports 10 192.168.1.10

43. 100 پورت رایج

nmap --top-ports 100 192.168.1.10

44. 1000 پورت رایج

nmap --top-ports 1000 192.168.1.10

45. ترتیب ترتیبی پورت‌ها

nmap -r 192.168.1.10

بخش ششم: Service & Version Detection

شماره پورت همیشه نشان‌دهنده سرویس واقعی نیست؛ ممکن است سرویس روی پورت غیرمعمول اجرا شود. -sV با Probe کردن سرویس تلاش می‌کند پروتکل، نرم‌افزار و نسخه را شناسایی کند.

46. تشخیص نسخه سرویس

nmap -sV 192.168.1.10

47. تشخیص نسخه روی پورت مشخص

nmap -sV -p 80 192.168.1.10

48. Version Intensity

nmap -sV --version-intensity 9 192.168.1.10

شدت بالاتر می‌تواند شناسایی دقیق‌تری ایجاد کند اما معمولاً زمان بیشتری نیاز دارد.


49. Version Light

nmap -sV --version-light 192.168.1.10

50. Version All

nmap -sV --version-all 192.168.1.10

51. Version Trace

nmap -sV --version-trace 192.168.1.10

جزئیات فرآیند Version Detection را نمایش می‌دهد.


بخش هفتم: OS Detection

52. تشخیص سیستم‌عامل

sudo nmap -O 192.168.1.10

53. OS Detection همراه Version Detection

sudo nmap -O -sV 192.168.1.10

54. OS Guess

sudo nmap -O --osscan-guess 192.168.1.10

Nmap تلاش بیشتری برای حدس سیستم‌عامل انجام می‌دهد.


55. محدود کردن OS Detection

sudo nmap -O --osscan-limit 192.168.1.10

بخش هشتم: اسکن جامع

56. Aggressive Scan

sudo nmap -A 192.168.1.10

-A چند قابلیت مهم از جمله OS Detection، Version Detection، Script Scanning و Traceroute را فعال می‌کند.


57. Aggressive روی پورت مشخص

sudo nmap -A -p 80,443 192.168.1.10

58. Version + OS

sudo nmap -sV -O 192.168.1.10

59. Version + Default Scripts

nmap -sV -sC 192.168.1.10

بخش نهم: NSE

Nmap Scripting Engine یا NSE قابلیت مهمی برای انجام بررسی‌های خودکار با اسکریپت‌های Lua است. گزینه -sC معادل اجرای اسکریپت‌های دسته default است.

60. اجرای Default Scripts

nmap -sC 192.168.1.10

61. اسکریپت مشخص

nmap --script http-title 192.168.1.10

62. چند Script

nmap --script http-title,http-headers 192.168.1.10

63. دسته Scripts

nmap --script discovery 192.168.1.10

64. Scripts مربوط به HTTP

nmap --script http-* 192.168.1.10

65. Scripts مربوط به SSH

nmap --script ssh-* 192.168.1.10

66. Scripts مربوط به DNS

nmap --script dns-* 192.168.1.10

67. دریافت راهنمای Script

nmap --script-help http-title

68. نمایش Scriptهای نصب‌شده

ls /usr/share/nmap/scripts/

69. جستجو در Scriptها

grep -R "http-title" /usr/share/nmap/scripts/

70. به‌روزرسانی Script Database

sudo nmap --script-updatedb

بخش دهم: Web Scanning

71. بررسی HTTP

nmap -p 80 192.168.1.10

72. تشخیص عنوان صفحه

nmap -p 80 --script http-title 192.168.1.10

73. HTTP Headers

nmap -p 80 --script http-headers 192.168.1.10

74. HTTP Methods

nmap -p 80 --script http-methods 192.168.1.10

75. HTTP Enumeration

nmap -p 80 --script http-enum 192.168.1.10

76. بررسی HTTPS

nmap -p 443 --script ssl-cert 192.168.1.10

77. اطلاعات گواهی SSL

nmap -p 443 --script ssl-cert,ssl-enum-ciphers 192.168.1.10

بخش یازدهم: SSH

78. شناسایی SSH

nmap -p 22 -sV 192.168.1.10

79. الگوریتم‌های SSH

nmap -p 22 --script ssh2-enum-algos 192.168.1.10

80. Host Key

nmap -p 22 --script ssh-hostkey 192.168.1.10

81. SSH Authentication Methods

nmap -p 22 --script ssh-auth-methods 192.168.1.10

بخش دوازدهم: SMB

82. شناسایی SMB

nmap -p 445 -sV 192.168.1.10

83. SMB Protocols

nmap -p 445 --script smb-protocols 192.168.1.10

84. SMB Security Mode

nmap -p 445 --script smb-security-mode 192.168.1.10

85. SMB OS Discovery

nmap -p 445 --script smb-os-discovery 192.168.1.10

بخش سیزدهم: DNS

86. شناسایی DNS

nmap -p 53 -sV 192.168.1.10

87. DNS Service Discovery

nmap -p 53 --script dns-service-discovery 192.168.1.10

88. DNS Version

nmap -sV -p 53 192.168.1.10

بخش چهاردهم: FTP

89. شناسایی FTP

nmap -p 21 -sV 192.168.1.10

90. FTP Anonymous Login Check

nmap -p 21 --script ftp-anon 192.168.1.10

91. FTP Banner

nmap -p 21 --script banner 192.168.1.10

بخش پانزدهم: Mail Services

92. SMTP

nmap -p 25 -sV 192.168.1.10

93. SMTP Commands

nmap -p 25 --script smtp-commands 192.168.1.10

94. SMTP Open Relay Check

nmap -p 25 --script smtp-open-relay 192.168.1.10

بخش شانزدهم: Database

95. MySQL

nmap -p 3306 -sV 192.168.1.10

96. MySQL Information

nmap -p 3306 --script mysql-info 192.168.1.10

97. PostgreSQL

nmap -p 5432 -sV 192.168.1.10

98. MSSQL

nmap -p 1433 -sV 192.168.1.10

99. Redis

nmap -p 6379 -sV 192.168.1.10

بخش هفدهم: Timing

Nmap برای کنترل سرعت اسکن Templateهای T0 تا T5 دارد؛ هرچه مقدار بالاتر باشد، اسکن معمولاً سریع‌تر و تهاجمی‌تر زمان‌بندی می‌شود.

100. Paranoid

nmap -T0 192.168.1.10

101. Sneaky

nmap -T1 192.168.1.10

102. Polite

nmap -T2 192.168.1.10

103. Normal

nmap -T3 192.168.1.10

104. Aggressive

nmap -T4 192.168.1.10

105. Insane

nmap -T5 192.168.1.10

برای شبکه‌های واقعی، استفاده از Timing بسیار بالا بدون بررسی شرایط شبکه می‌تواند باعث فشار غیرضروری شود.


بخش هجدهم: کنترل Performance

106. حداکثر Retry

nmap --max-retries 2 192.168.1.10

107. Host Timeout

nmap --host-timeout 30s 192.168.1.10

108. Scan Delay

nmap --scan-delay 100ms 192.168.1.10

109. Maximum Scan Delay

nmap --max-scan-delay 1s 192.168.1.10

110. Minimum Parallelism

nmap --min-parallelism 10 192.168.1.10

111. Maximum Parallelism

nmap --max-parallelism 50 192.168.1.10

بخش نوزدهم: خروجی گرفتن

یکی از قابلیت‌های مهم Nmap ذخیره نتایج اسکن برای تحلیل بعدی است.

112. خروجی Normal

nmap 192.168.1.10 -oN scan.txt

113. خروجی XML

nmap 192.168.1.10 -oX scan.xml

114. خروجی Grepable

nmap 192.168.1.10 -oG scan.gnmap

115. همه فرمت‌های اصلی

nmap 192.168.1.10 -oA scan

سه خروجی اصلی تولید می‌کند.


116. Append کردن خروجی

nmap 192.168.1.10 -oN scan.txt --append-output

بخش بیستم: Verbosity و Debugging

117. Verbose

nmap -v 192.168.1.10

118. Verbose بیشتر

nmap -vv 192.168.1.10

119. Debug

nmap -d 192.168.1.10

120. Debug بیشتر

nmap -dd 192.168.1.10

121. Packet Trace

sudo nmap --packet-trace 192.168.1.10

برای بررسی بسته‌های ارسال‌شده و دریافت‌شده مفید است.


بخش بیست‌ویکم: DNS

122. غیرفعال کردن DNS Resolution

nmap -n 192.168.1.10

123. فعال کردن DNS Resolution

nmap -R 192.168.1.10

124. استفاده از DNS مشخص

nmap --dns-servers 1.1.1.1 192.168.1.10

بخش بیست‌ودوم: IPv6

125. IPv6 Scan

nmap -6 2001:db8::10

این آدرس در مستندات/لابراتوار برای نمونه استفاده می‌شود؛ آن را با IPv6 واقعی محیط مجاز خود جایگزین کنید.


بخش بیست‌وسوم: Traceroute

126. Traceroute

nmap --traceroute 192.168.1.10

127. Traceroute همراه Version

nmap -sV --traceroute 192.168.1.10

بخش بیست‌وچهارم: ترکیب‌های بسیار کاربردی

از این قسمت به بعد، چند گزینه را با هم ترکیب می‌کنیم.

128. TCP + Version

nmap -sS -sV 192.168.1.10

129. SYN + OS

sudo nmap -sS -O 192.168.1.10

130. SYN + Version + OS

sudo nmap -sS -sV -O 192.168.1.10

131. SYN + Scripts

sudo nmap -sS -sC 192.168.1.10

132. Version + Scripts

nmap -sV -sC 192.168.1.10

133. Aggressive + خروجی

sudo nmap -A 192.168.1.10 -oA fullscan

134. تمام TCP Ports + Version

nmap -p- -sV 192.168.1.10

135. تمام TCP Ports + SYN

sudo nmap -p- -sS 192.168.1.10

136. تمام TCP Ports + Version + Scripts

sudo nmap -p- -sV -sC 192.168.1.10

137. پورت‌های وب

nmap -p 80,443,8080,8443 -sV 192.168.1.10

138. پورت‌های Remote Access

nmap -p 22,23,3389,5900 -sV 192.168.1.10

139. پورت‌های Database

nmap -p 1433,1521,3306,5432,6379,27017 -sV 192.168.1.10

140. سرویس‌های رایج

nmap -sV --top-ports 100 192.168.1.10

بخش بیست‌وپنجم: اسکن UDP

141. UDP پورت DNS

sudo nmap -sU -p 53 192.168.1.10

142. UDP SNMP

sudo nmap -sU -p 161 192.168.1.10

143. UDP DHCP

sudo nmap -sU -p 67,68 192.168.1.10

144. چند UDP Port

sudo nmap -sU -p 53,67,68,123,161 192.168.1.10

145. UDP Top Ports

sudo nmap -sU --top-ports 20 192.168.1.10

بخش بیست‌وششم: بررسی سرویس‌های خاص

146. HTTP

nmap -p 80 -sV 192.168.1.10

147. HTTPS

nmap -p 443 -sV 192.168.1.10

148. SSH

nmap -p 22 -sV 192.168.1.10

149. FTP

nmap -p 21 -sV 192.168.1.10

150. Telnet

nmap -p 23 -sV 192.168.1.10

151. SMTP

nmap -p 25 -sV 192.168.1.10

152. DNS

nmap -p 53 -sV 192.168.1.10

153. POP3

nmap -p 110 -sV 192.168.1.10

154. IMAP

nmap -p 143 -sV 192.168.1.10

155. LDAP

nmap -p 389 -sV 192.168.1.10

156. SMB

nmap -p 445 -sV 192.168.1.10

157. RDP

nmap -p 3389 -sV 192.168.1.10

158. VNC

nmap -p 5900 -sV 192.168.1.10

بخش بیست‌وهفتم: NSE Discovery

159. Discovery Scripts

nmap --script discovery 192.168.1.10

160. Safe Scripts

nmap --script safe 192.168.1.10

161. Default Scripts

nmap --script default 192.168.1.10

162. Banner

nmap --script banner 192.168.1.10

163. Service Discovery

nmap --script service* 192.168.1.10

بخش بیست‌وهشتم: اطلاعات SSL/TLS

164. SSL Certificate

nmap -p 443 --script ssl-cert 192.168.1.10

165. Cipher Enumeration

nmap -p 443 --script ssl-enum-ciphers 192.168.1.10

166. SSL Scripts

nmap -p 443 --script ssl-* 192.168.1.10

بخش بیست‌ونهم: اطلاعات شبکه و سرویس

167. Banner Detection

nmap --script banner -sV 192.168.1.10

168. Service Info

nmap -sV --version-all 192.168.1.10

169. Service + Default Scripts

nmap -sV -sC 192.168.1.10

170. Service + Traceroute

nmap -sV --traceroute 192.168.1.10

بخش سی‌ام: اسکن شبکه داخلی

171. پیدا کردن Hostهای فعال

sudo nmap -sn 192.168.1.0/24

172. Host Discovery با ARP

sudo nmap -PR 192.168.1.0/24

173. پورت 22 در شبکه

nmap -p 22 192.168.1.0/24

174. پورت 80 در شبکه

nmap -p 80 192.168.1.0/24

175. پورت 443 در شبکه

nmap -p 443 192.168.1.0/24

176. HTTP + HTTPS

nmap -p 80,443 192.168.1.0/24

177. SSH + HTTP + HTTPS

nmap -p 22,80,443 192.168.1.0/24

178. سرویس‌ها در کل شبکه

nmap -sV 192.168.1.0/24

179. سیستم‌عامل شبکه

sudo nmap -O 192.168.1.0/24

180. اسکن جامع شبکه

sudo nmap -A 192.168.1.0/24

بخش سی‌ویکم: سناریوهای لابراتواری

فرض کنیم یک ماشین آزمایشگاهی با IP زیر داریم:

192.168.1.10

181. اولین Recon

nmap -sn 192.168.1.10

182. اسکن اولیه

nmap 192.168.1.10

183. تمام پورت‌ها

nmap -p- 192.168.1.10

184. شناسایی سرویس‌ها

nmap -sV -p- 192.168.1.10

185. OS Detection

sudo nmap -O 192.168.1.10

186. اسکن جامع

sudo nmap -A 192.168.1.10

187. خروجی کامل

sudo nmap -A 192.168.1.10 -oA lab-scan

188. فقط Web

nmap -p 80,443,8080,8443 -sV 192.168.1.10

189. Web Enumeration

nmap -p 80,443 --script http-title,http-headers 192.168.1.10

190. SSH Enumeration

nmap -p 22 --script ssh2-enum-algos,ssh-hostkey 192.168.1.10

بخش سی‌ودوم: دستورات حرفه‌ای‌تر

191. اسکن با ورودی فایل

nmap -iL targets.txt -oA network-audit

192. حذف اهداف خاص

nmap -iL targets.txt --exclude 192.168.1.10

193. اسکن سریع

nmap -T4 -F 192.168.1.10

194. سریع + Version

nmap -T4 -F -sV 192.168.1.10

195. سریع + خروجی

nmap -T4 -F -oA quickscan 192.168.1.10

196. اسکن دقیق‌تر

nmap -sS -sV -O -sC 192.168.1.10

197. تمام TCP + اطلاعات سرویس

nmap -p- -sV 192.168.1.10

198. تمام TCP + OS

sudo nmap -p- -O 192.168.1.10

199. تمام TCP + OS + Version

sudo nmap -p- -sV -O 192.168.1.10

200. Full Assessment در لابراتوار

sudo nmap -p- -sS -sV -O -sC 192.168.1.10 -oA assessment

بخش سی‌وسوم: ۱۰ دستور نهایی برای جمع‌بندی

201. بررسی سریع Host

nmap -sn 192.168.1.10

202. بررسی پورت‌های رایج

nmap -F 192.168.1.10

203. بررسی تمام TCP Ports

nmap -p- 192.168.1.10

204. Service Detection

nmap -sV 192.168.1.10

205. OS Detection

sudo nmap -O 192.168.1.10

206. Default NSE

nmap -sC 192.168.1.10

207. Aggressive Scan

sudo nmap -A 192.168.1.10

208. UDP Scan

sudo nmap -sU 192.168.1.10

209. ذخیره گزارش

nmap -sV 192.168.1.10 -oA report

210. اسکن جامع لابراتوار

sudo nmap -p- -sS -sV -O -sC --traceroute 192.168.1.10 -oA final-report

جمع‌بندی

Nmap فقط یک ابزار برای پیدا کردن پورت‌های باز نیست. این ابزار می‌تواند در فرآیند Network Discovery، Inventory، Security Auditing و تست نفوذ مجاز برای شناسایی میزبان‌ها، پورت‌ها، سرویس‌ها، نسخه نرم‌افزارها و برخی ویژگی‌های سیستم‌عامل استفاده شود. ساختار رسمی مستندات Nmap نیز قابلیت‌ها را در همین حوزه‌ها، از Host Discovery و Port Scanning تا Version Detection، OS Detection، NSE، Timing و Output دسته‌بندی می‌کند.

مسیر پیشنهادی یادگیری Nmap

اگر تازه شروع کرده‌ای، این ترتیب را پیشنهاد می‌کنم:

nmap IP
   ↓
nmap -sn
   ↓
nmap -p-
   ↓
nmap -sV
   ↓
nmap -O
   ↓
nmap -sC
   ↓
nmap -A
   ↓
NSE
   ↓
Network Auditing

نکته مهم: در یک لابراتوار آموزشی، بهتر است ابتدا یک شبکه جداگانه با Kali Linux و یک ماشین هدف مانند Metasploitable ایجاد کنی و تمام این دستورات را مرحله‌به‌مرحله روی همان محیط اجرا کنی. این کار هم یادگیری را واقعی‌تر می‌کند و هم ریسک اسکن ناخواسته سیستم‌های دیگر را از بین می‌برد.

دسته بندی‌ها:

آنچه در این مقاله میخوانید

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *