为了我自己的兴趣,我想编写一个应用程序,以图形方式将某些网络概念可视化。基本上我想显示来自ping,traceroute和nmap等工具的输出。在另一个程序中包含工具的功能吗?
最明显的方法似乎是使用管道从我的C程序中调用了这些工具,并处理它们返回的信息。但是,如果可能的话,我想尽量避免这种严厉的做法。我的问题是,是否有可能以某种方式与这些工具链接,或者是否有可用于获取编程式访问权限的API?如果是这样,这种行为是否仅在一个工具的基础上可用?
为希望做到这一点一个原因是把一切都在一个单一的过程/地址空间,以避免对这些外部工具的Dependance。例如,如果我编写了一个iphone应用程序,那么我将无法派生进程来调用外部工具本身。
感谢您的任何意见或建议。
噢,我想我可能只是看一个Linux发行版,看看自己是怎样的工具来实现。比我希望做的更多的工作,但这将是一个很好的学习经验。 – 2010-05-31 01:15:22