爲了我自己的興趣,我想編寫一個應用程序,以圖形方式將某些網絡概念可視化。基本上我想顯示來自ping,traceroute和nmap等工具的輸出。在另一個程序中包含工具的功能嗎?
最明顯的方法似乎是使用管道從我的C程序中調用了這些工具,並處理它們返回的信息。但是,如果可能的話,我想盡量避免這種嚴厲的做法。我的問題是,是否有可能以某種方式與這些工具鏈接,或者是否有可用於獲取編程式訪問權限的API?如果是這樣,這種行爲是否僅在一個工具的基礎上可用?
爲希望做到這一點一個原因是把一切都在一個單一的過程/地址空間,以避免對這些外部工具的Dependance。例如,如果我編寫了一個iphone應用程序,那麼我將無法派生進程來調用外部工具本身。
感謝您的任何意見或建議。
噢,我想我可能只是看一個Linux發行版,看看自己是怎樣的工具來實現。比我希望做的更多的工作,但這將是一個很好的學習經驗。 – 2010-05-31 01:15:22