天天看点

关于libnet编译的这些事

刚接触这玩意儿,是个彻彻底底的菜鸟.《网络安全开发包详解》上介绍了用它可以随心所欲的构造自己需要的数据包,也介绍了如何对其进行编译的详细过程。本来以为按照这个指导一步步搞下去该没什么问题吧,哪想到其中却遇到了各种辛酸,一堆乱七八糟的问题,搞的我脑子都大了。。。

问题1:'IPAddress' uses undefined struct 'sockaddr_storage'以及诸如此类的N个错误

解决方法:在网上找了N多,结果发现一种直接修改Packet32.h文件的方法(http://blog.csdn.net/to_ygy/archive/2007/01/15/1483247.aspx强烈的感谢!!)。解决了这个,继续编译,却发现了————问题2:error C2065: 'CRYPT_VERIFYCONTEXT' : undeclared identifier 以及N多错误提示。

解决方法:又多亏了伟大的互联网络,我不懈的搜索终于出结果了!

(http://hi.baidu.com/alswl/blog/item/4bffbb0ae9e6d838b1351da7.html再次强烈感谢!!)。原来是目录的顺序问题。。。

终于,搞到只剩下两个错误了(虽然还有很多的warning。。。),这就是我遇到的第三个搞死人的问题

问题3: fatal error LNK1120: 1 unresolved externals 和: '' undefined; assuming extern returning int 

上网搜的那个辛苦啊。。。终于发现了一篇介绍link错误很详细的文章(http://hi.baidu.com/%B5%C6%CB%BF%C0%CB%CD%BDdslt/blog/item/9ed12708c3d30735e824888b.html),虽然没有直接解答我的问题,但还是给了我不少的帮助。找来找去,问题终于定格在“hstrerror”上,整个工程中根本就 没有定义这个函数。。。。仔细的和其它的snprintf的内容核对了下,发现这个“hstrerror”竟然多了一个h!!!

删掉小小的害我不浅的h,整个工程终于顺利编译通过,虽然还有也还是有很多的warning,但是我还是感到蛮欣喜 的!

编译通过了,就是不知道编译成功的那个libnet.dll能不能用。。