擺脫 Man Page 地獄:我開發了 Nmap 指令解析與轉換工具
在進行滲透測試(Penetration Testing)的第一步,永遠都是 Nmap。
nmap -sC -sV -p- -T4 10.10.10.10
這行指令對資安人員來說像喝水一樣自然,但對於剛入門的新手,或是需要撰寫報告解釋攻擊路徑時,這些參數(Flags)往往像天書一樣。-sC 具體跑了哪些腳本?-sT 和 -sS 的 TCP Handshake 差異在哪?
為了不想每次都去翻 man nmap 或 Google,我決定發揮工程師本能:「既然覺得麻煩,就寫個工具解決它。」
Nmap Command Convert
這是我開發的一個輕量級 Web 工具,旨在將複雜的 Nmap 指令行字串,轉換為人類可讀的格式,或是將結構化的參數組合成可執行的指令。
核心功能
- 指令視覺化:輸入長串指令,工具會自動拆解每個參數的意義。
- 快速構建:透過 UI 選項勾選(例如:TCP Connect Scan, UDP Scan),自動生成對應的 Command Line。
- 跨平台便利性:純前端實作,部署於 GitHub Pages,隨時隨地打開瀏覽器就能用。
技術實作
這個專案使用了我熟悉的 Vue.js 進行開發。
- Regex Parsing:編寫了大量的正規表達式來匹配 Nmap 繁雜的參數規則。
- State Management:即時連動 UI 狀態與輸出的指令字串。
- GitHub Actions:設定了 CI/CD 流程,每次 Push 到
main分支時自動部署到 GitHub Pages。
專案連結
這是一個開源專案,如果你覺得 Nmap 的參數總是讓你頭痛,歡迎試用看看!
開發心得
開發這個工具的過程中,我被迫重新深入閱讀了 Nmap 的官方文檔,這反而讓我的資安基礎知識更加扎實。
例如,在實作 -sI (Idle Scan) 的解析邏輯時,我必須徹底理解殭屍主機(Zombie Host)與 IP ID Increment 的原理才能寫出正確的解釋。這印證了費曼學習法的一個觀點:「凡是你不能創造的,你就沒有真正理解。」
如果你對這個專案有興趣,或是發現了解析錯誤的 Bug,歡迎到 GitHub 提 Issue 或 PR!