【发布时间】:2013-10-11 13:17:14
【问题描述】:
以 Windows 7 为示例平台,我想了解如何在第 3 层(IP)层编写应用程序。以我想在 C/C++ 中实现 ping 自己的情况作为一个简单的说明性示例。我该怎么做呢?
问题当然是在 IP 层运行时,而不是 TCP/UDP 层,没有端口号标识进程(my 进程)供 IP 层把数据包交给。所以,这绝对不可能是传统的应用层程序。
相反,我认为我需要编写一个 3 级 hdnler 来执行我想要的操作并将其注册到操作系统以取代现有的 IP 层实现。
我的想法正确吗?如果是这样,我将如何实施它?如果不是,正确的做法是什么?
最后,我想就第 2 层(以太网)提出完全相同的问题。如何直接发送和接收以太网帧?
【问题讨论】:
-
对于低于 IP 的层,这是最流行的选项:winpcap.org 或 tcpdump.org
标签: c++ c windows networking network-programming