7

我最近参加了一些网络课程(CCNA 1 到 4),所以我了解这一切背后的大部分理论。我现在想做的就是把我所拥有的知识以一些小应用程序的形式付诸实践。

我一直在阅读 MSDN 上有关如何执行此操作的一些文章,但它们似乎只涵盖第 3 层或第 4 层及更高层的网络编程,IIRC。我正在寻找的是一些简单的例子,说明如何处理主机之间的第二层连接(即成帧),甚至只是一些简单的例子,比如如何执行以太网广播。

我对 C# 和 C++ 有一点经验,所以使用这两种语言中的任何一种的例子都会很棒。

谢谢。

4

3 回答 3

5

对于 Windows,请查看提供低级网络访问的WinPcap 。开发人员包已经包含一些简单的示例来帮助您入门。

顺便说一句,在 Linux 上有数据包套接字

于 2011-10-16T11:29:23.967 回答
5

您可以使用eEx 网络库来编写小型应用程序(我在 CCNA 期间也做过同样的事情)。

它是一个易于使用且面向对象的 .Net 编程库,可让您深入到第 2 层并通过 WinPcap 发送自定义帧。

实现了以太网、ARP、IP、UDP、TCP 和 RIP 等帧类型,据我所知,这些是 CCNA 期间发生的协议。

此处提供 C# 教程,如果您想深入了解某些内容,例如地址解析,您可以随时查看源代码,因为该库是开源的。

于 2011-10-16T13:53:28.423 回答
1

很可能,您可以研究 GNU/Linux 系统上的低级网络实用程序,或者还可以研究内核 TCP 或 UDP 或 IP 层。但是例如,进行以太网广播是非常低级的事情,而且不是很有用。真实的例子(通常是用 C,而不是 C++ 编写的)可能并不简单,因为它们必须处理错误处理。

于 2011-10-16T09:17:04.993 回答