网络编程学习日记(3)_利用WinPcap实现ARP的发送和接受

网络编程学习日记(2)_利用WinPcap实现ARP的发送和接受 网络编程学完以太网帧的结构,就开始正式进入IP层的学习了,在学习编程之前,对网络协议的有一定的了解,而且还要知道每个数据包,或者是报文,或者是帧他们每个字节 的含义 玩ARP么,肯定得知道他的原理,我就不做什么说明了,书上一大堆的 首先是ARP的接收,来看一下程序的流程 获取网络设备列表 pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) 然后人机交互一下,获得需要工作的网卡 打开需要的网卡 (adhandle= pcap_open(d->name, // 设备名 65536, // 要捕捉的数据包的部分 // 65535保证能捕获到不同数据链路层上的每个数据包的全部内容 PCAP_OPENFLAG_PROMISCUOUS, // 混杂模式 1000, // 读取超时时间 NULL, // 远程机器验证 errbuf // 错误缓冲池 ) 检查数据链路层,我们只考虑以太网 ...

2008-09-25 · alswl

ARP

挺累的,连续两天忙到3点睡觉,早上9点起来继续做 开始挺没状态,但后来写着写着状态来了,一个一个新的想法也加入了。代码就变得丰富多彩起来。 这是网络编程,也就是我的专业方向课的第一份作业,我特别看中这次,当初分方向时候,鑫爷和大妈都去了软件,我留在网络了。似乎都觉得网络好学,简单,不要写程序 那么我就写 第一次将c++与系统底层结合起来,去操作网络上的数据包,感觉真是,太perfect了,不再是呆板的代码,而是真实的数据,真实的操作,甚至我感觉通过键盘,我能 控制一切的感觉 ...

2008-09-23 · alswl

网络编程学习日记(2)_WinPcap自带教程的一些例子的学习

1.编译时候会出现函数问题 'pcap_findalldevs_ex' : undeclared identifier 'PCAP_SRC_IF_STRING' : undeclared identifier 'pcap_open' : undeclared identifier 'PCAP_OPENFLAG_PROMISCUOUS' : undeclared identifier '=' : cannot convert from 'int' to 'struct pcap *' 等一系列函数找不到的问题,导致这些问题的关键在于他们的函数声明并不包含在pcap.h这个 头文件里面,而是包含在remote-ext.h这个函数里面,所以只需要在 #include “pcap.h"后面加上 #include “remote-ext.h” 就可以编译通过了。 网上有网友戏称说是WinPcap开发小组故意做的恶作剧或者是撰写doc说明时候忘记加入了 = =# 2.出现连接错误 ...

2008-09-14 · alswl

网络编程学习日记(1)_WinPcap和VC的配置

下学期有网络变成,用的是《计算机网络高级软件编程技术》,研究生教材,感觉书写的很泛泛,毕竟是给研究生用的书籍,很多基础的细节都没有写清楚,搞不懂学校怎么弄这 种书,叹一个。 直接导致了我很多东西都得一点一点去网上查找。 很多函数都是用的WinPcap的,所以我又抓紧时间看WinPcap的入门知识。 WinPcap开发包下载:[http://www.winpcap.org/install/default.htm](http://www.winpcap.o rg/install/default.htm) ...

2008-08-21 · alswl