官网:http://packetfactory.openwall.net/projects/libnet/
下载(有zip和tar.gz两个版本):https://github.com/sam-github/libnet/releases
解压之后:
编译步骤:
- 将libnet-libnet-1.2-rc3复制到D盘
- 双击libnet目录下的msvcbuild.bat文件,之后就会在src目录下生成libnet.dll和libnet.lib
-----------------------------------------------------------------------------------------------------------------
(注: 如果直接双击编译,事先需要按照windows下编译libnet0.10.11中所述配置vs中vc编译器的相关目录。要么就直接从vs2013的命令行控制台中进入
libnet目录下执行msvcbuild.bat),vs2013的命令行在工具->库程序包管理器->程序包管理器控制台 推荐后者
cd d: cd .\libnet-libnet-1.2-rc3\libnet msvcbuild.bat
编译过程中有一堆warning不过最后成功编译。
------------------------------------------------------------------------------------------------------------------
详细的编译过程参见:http://www.verydemo.com/demo_c173_i160089.html
其中对一些出现的错误进行了描述。这里也将其摘录至文章末尾~
在D盘建立目录:
libnet-1.2-r3-build/bin
libnet-1.2-r3-build/include
libnet-1.2-r3-build/lib
分别将libnet-libnet-1.2-rc3/libnet/src中的libnet.dll和libnet.lib复制到bin和lib目录中,
将libnet-libnet-1.2-rc3/libnet/include目录复制为libnet-1.2-r3-build/include
在系统环境变量PATH中添加:libnet-1.2-r3-build/bin
在vs中vc++目录中配置include和lib,在link输入中添加libnet.lib
(注:修改环境变量后要重启vs才能对vs生效)
至此libnet的开发配置就结束了~
---------------------------------------------------------------------------------
from:http://www.verydemo.com/demo_c173_i160089.html
libnet编译,windows/Linux
windows下
1.下载安装包libnet-libnet-1.2-rc2.zip
https://github.com/sam-github/libnet/releases
2.解压缩到D:\libnet-libnet-1.2-rc2目录下
3.下载WinPcap_4_1_2.zip和WpdPack_4_1_2.zip
安装WinPcap_4_1_2
解压WpdPack_4_1_2.zip解压到D:\WpdPack
4.编译
3.1 打开VS -> Visual Studio Tools -> Visual Studio 命令提示(2010)
3.2 切换到目录D:\libnet-libnet-1.2-rc2\libnet
3.3
执行msvcbuild.bat
3.4 其他
a. 提示找不到“pcap.h”。
修改msvcbuild.bat中的“@set WINPCAP=..\..\..\WpdPack”为“@set WINPCAP=D:\WpdPack”
b. libnet_dll.c(32) : fatal error C1083: 无法打开包括文件:“common”: No such file or directory
将libnet_dll.c中32行的 #include "common" 改成 #include "common.h" 。
c. libnet_raw.c(44) : error C2054: 在“socklen_t”之后应输入“(”
libnet_raw.c(45) : error C2082: 形参“libnet_open_raw4”的重定义
libnet_raw.c(45) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
将libnet_raw.c中35~37行的内容注释掉:
#ifndef HAVE_SOCKLEN_T
typedef int socklen_t
#endif
将libnet_raw.c中70行的 socklen_t len; 改成 int len; 。
5.生成结果
在目录D:\libnet-libnet-1.2-rc2\libnet\src下生成libnet.lib、libnet.dll。
-----------------------
Linux下
1.下载安装包libnet-1.2-rc2.tar.gz
http://sourceforge.net/projects/libnet-dev/
2.解压缩libnet-1.2-rc2.tar.gz
tar zxvf libnet-1.2-rc2.tar.gz
3.编译
3.1 ./configure
3.2 make
3.3 make install
4.生成结果
在libnet-1.2-rc2/src/.libs/目录下生成libnet.a、libnet.so。