2009-04-09 20 views
1

我剛開始研究如何將nmap(一種開源的安全產品)整合到一些C++代碼中。如果有人試過這個,並且對最佳方法有一些想法,我當然會很感激。有關如何以編程方式與nmap集成的任何想法?

感謝您的回覆。具體來說,我想運行端口掃描(ipv6)。我肯定會更喜歡非gpl解決方案,如命令行或套接字接口。然而,我也是這樣想的,我正在尋找最快的解決方案,因爲我們正面臨一些嚴格的時間表,我們可以在必要的情況下支持實施non-gpl解決方案。

+0

哇,什麼毫無意義的編輯凹凸... – Alnitak 2017-03-15 09:40:26

回答

0

「整合」並沒有說得太多。你想做什麼樣的事情?根據「集成」的級別,將nmap作爲單獨的進程運行並捕獲其輸出可能就足夠了。這樣做的好處是可以在不重建應用的情況下更新nmap的版本。如果你需要更緊密的耦合,那麼它取決於你需要什麼功能和「library-izing」nmap,但要注意它是GPL代碼,這種整合將需要你的應用程序的源代碼分發。

1

你在尋找使用特定的功能塊?我發現在其他語言中使用nmap的簡單方法是使用-oX開關將其吐出xml。有一個DTD(以及許多方法可將這個轉換爲xsd,用於您喜愛的綁定工具),您可以使用它來使用這些數據。

鑑於您使用C++編寫,雖然如果您需要,它可能很容易直接鏈接。

1

您可以隨時在管道中讀取它。根據傳統,即使非GPL訪問GPL也是可以接受的。

+0

請注意,在我的答案中,我特別指出了Nmap許可證,他們澄清說他們認爲要創建衍生作品(並因此要求您根據GPL如果你想重新分配GPL的代碼)。 – 2009-04-10 04:28:00

相關問題