首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个工具的功能包含在另一个程序中?

问将一个工具的功能包含在另一个程序中?
EN

Stack Overflow用户
提问于 2010-05-31 05:03:20
回答 2查看 33关注 0票数 0

我想写一个应用程序,出于我自己的兴趣,它图形化地可视化了一些网络概念。基本上,我想显示ping、traceroute和nmap等工具的输出。

最明显的方法似乎是使用管道从C程序中调用这些工具,并处理它们返回的信息。然而,如果可能的话,我希望避免这种高压手段。我的问题是,有没有可能以某种方式链接到这些工具,或者有没有API可以用来获得编程访问权限?如果是这样,这种行为是否仅在逐个工具的基础上可用?

这样做的一个原因是将所有内容都保存在单个进程/地址空间中,并避免对这些外部工具的依赖。例如,如果我编写了一个iphone应用程序,我将无法生成调用外部工具本身的进程。

感谢您的任何建议或建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-31 05:09:55

您所选择的平台中的网络API就是您真正需要的。ping、traceroute和nmap不会施展任何魔法,它们所做的只是在网络上发送和接收数据包。

不过,我不知道有没有任何预先存在的库(我也没有看过)。如果涉及到它,至少ping和traceroute手工实现起来相当简单。

票数 1
EN

Stack Overflow用户

发布于 2010-05-31 05:11:48

我依赖于您正在开发的平台。例如,Windows有一个可以用来实现ping工具的ICMP API。

另一方面,ping和traceroute的源代码在任何Linux系统上都可用,因此您可以将其用作您自己的程序的基础(前提是许可证与您的需求兼容)。

最后,ping (ICMP)并不难实现,traceroute构建在ping之上。这可能是值得的,只是滚动您自己的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2940305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档