在马路上的安全知识歌:跪求vc++网络编程高高手!!!

来源:百度文库 编辑:高考问答 时间:2024/05/01 10:17:43
这年头的大学真是乱来的!! 希望有贵人相助,可否加我qq:17554181
我的专业是电气,可偏在大四要我们做网络的编程设计,我们对vc++一窍不通,何以编程?
题目如下:1,vc++编写1个获取网卡mac网络地址的程序;
2. IP地址将不同的物理地址统一起来,从而将物理地址隐藏起来,上层软件使用IP地址标识结点。但是,两台计算机只有在知道彼此的物理地址时才能进行通信。
IP数据包常通过Ethernet发送。Ethernet设备并不识别32位IP地址,它们是以48位MAC地址传输Ethernet数据包的。因此,IP驱动器必须把IP目的地址转换成Ethernet网络目的地址。这两种地址之间存在着某种静态的或动态的映射,通常需要查看一张表来进行这种映射。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。
ARP工作时,送出一个含有所希望的IP地址的Ethernet广播数据包。目的地主机(或另一个代表该主机的系统)以一个含有IP和Ethernet地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。
本课程设计的目的是进一步熟悉ARP协议的帧结构以及它的运作过程。
2 课程设计要求
在熟悉ARP协议并了解Winpcap编程的前提下,构造ARP包,选择并打开网卡,将ARP包发送出去。
1.命令行格式:
arpsend src_ip src_mac dst_ip dst_mac flag
其中arpsend作为程序名。
各参数意义:
?src_ip:源IP地址。
?src_mac:源MAC地址。
?dst_ip:目的IP地址。
?dst_mac:目的MAC地址。
?flag:0表示ARP请求;1表示ARP应答
例如:
arpsend 192.168.1.1 FA:01:02:C3:04:05 192.168.1.2 0D:E1:02:03:B4:06 1
2.输出:Send OK。
3.程序的正确性的检验。可以安装一个截包软件,如Iris,运行该软件以查看能否收到程序发出的ARP包,检查包中各字段填充的内容(如各地址、协议类型)是否准确。

希望有贵人相助,可否加我qq:17554181

希望有贵人相助,可否加我qq:17554181

兄弟问题 很好 ,不过今天有事情 。有空在 回答你吧。推荐你看一下TCP/IP协议。里面有第二个问题的答案。第一个问题 也是比较简单的 ,不过我需要查询一下,才可以回答上来 !

取MAC只用一个API就行:GetAdaptersInfo
去MSDN里查