Skip to content

Instantly share code, notes, and snippets.

@snail007
Last active August 27, 2018 09:29
Show Gist options
  • Save snail007/49530dccba8419635674fe0dd12363cd to your computer and use it in GitHub Desktop.
Save snail007/49530dccba8419635674fe0dd12363cd to your computer and use it in GitHub Desktop.
gopackets 编译运行环境要求
1.linux 需要libpcap库
sudo apt-get install libpcap0.8-dev
2.windows 64位系统需要
go_amd64
使用winpcap无法抓取127.0.0.1通讯的流量,如果要抓取127.0.0.1的流量需要Npcap
Npcap 是对当前最流行的 WinPcap 工具包进行改进的一个项目,兼容winpcap api.
安装x86_64-w64-mingw32-8.1.0-crt-5.0.4.7z
解压到:C:\MinGW,把C:\MinGW\bin加入PATH环境变量.
安装gcc
去http://tdm-gcc.tdragon.net/download下载gcc,安装到C:\TDM-GCC-64,
把C:\TDM-GCC-64\bin和C:\TDM-GCC-64\x86_64-w64-mingw32\bin加入PATH环境变量.
安装winpcap develop package
去 https://www.winpcap.org/devel.htm下载开发包4.1.2 ,解压WpdPack_4_1_2.zip到 C:\WpdPack,一定要这个目录,否则得修改go库里面的代码
安装Npcap
https://nmap.org/npcap/#download
如果安装了WinPcap, 安装Npcap前请先卸载WinPcap,重启系统之后再安装Npcap.
安装时要勾选
Use DLT_NULL protocol sa Loopback ...和
install npcap in winpcap api-compat mode(选这个,是要兼容 WinPcap)
修复WpdPack缺失文件
复制:
c:\windows\system32\Packet.lib 和 c:\windows\system32\wpcap.lib 到 c:\temp
然后命令行进入c:\temp
执行:
gendef wpcap.dll
gendef packet.dll
dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libwpcap.a --input-def wpcap.def
dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libpacket.a --input-def packet.def
然后复制生成的 libwpcap.a 和 libpacket.a 到 c:\WpdPack\Lib\x64.
提示:
如果把编译好的exe在目标机器运行,目标机器只需要安装Npcap即可.
@snail007
Copy link
Author

snail007 commented Aug 27, 2018

增加编译好的文件
libwpcap.a 和 libpacket.a
libpacket a
libwpcap a

由于gist只能上传图片,保存上面的png图片链接文件为 libpacket.a 和 libwpcap.a 即可.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment