0

通过谷歌搜索了很多关于这个问题的信息,但我无法找到解决方案。我正在尝试使用 gnu c hping 库实现 MPI 端口扫描器。唯一的问题是,hping 主页已关闭,并且仅用于 shell。我想使用 hping 检查端口是打开还是关闭(三向 TCP 握手成功与否)。

有没有这方面的例子?

4

1 回答 1

0

您可以执行 hping 并解析其输出。算法很简单:

  1. 使用 pipe() 创建单向管道
  2. 使用 fork() 创建另一个进程
  3. 在子进程中:
  4. 使用 dup2() 将标准输出替换为管道的输出端。不要忘记关闭管道的输入端。
  5. 使用 execlp() 执行 hping
  6. 在父进程中:
  7. hping 输出将在管道的输入端可用。不要忘记关闭管道的输出端。
于 2014-11-14T10:26:25.273 回答