-3

背景: 我习惯于使用 Windows 并使用 IDE 创建项目,例如 Visual Studio。但我现在的任务是使用 linux、Gedit 和 G++,我从来没有这样的经验。

任务 我正在尝试编写一个程序,该程序将 ping 网络上的设备并收集一些相关信息。我需要在不使用任何 IDE 的情况下做到这一点,最终它必须是一段独立代码才能在盒子内使用。

我认为我需要做 的我认为我需要找到一个具有相关功能的库,该库将设置套接字和所有其他细节。但除此之外,我不知道该去哪里。

请有人在这里教育我,我感觉就像一条离开水的鱼。我从哪说起呢 :(

4

1 回答 1

0

我相信通过ping 网络上的设备是指ICMP,另请参见icmp(7)

理解如何在 Linux 上执行此操作的明显方法是利用它由免费软件组成的优势并获取与ping命令相关的源代码(在 Debian 和 Ubuntu 上的inetutils-ping包中)。此外,您还可以使用strace一些ping命令(要了解相关的系统调用,另请参阅syscalls(2)Advanced Linux Programming一书)。

我强烈建议养成编译、学习和改进自由软件的习惯。

你也可以使用libping库;您可能需要 root 权限。

有关 Linux 上 C 和 C++ 开发的提示,请参阅此答案

于 2013-09-11T15:48:15.133 回答