lua脚本实现服务器的自动抓包、存储、定期删除(Wireshark、Lua)
lua脚本自动抓包配置方法
1、自动抓包
适用场景:持续抓取网卡传输的数据包,通信出现问题时,方便排查是否为网络传输问题。
脚本启动后会自动抓取所配置显卡传输的数据包,并压缩存储到特定位置,单包大小默认为50MB,总大小限制默认为500MB,超过500MB后,会按照时间顺序将时间最早的包删除。(单包大小、总包大小、间隔时间,监测网卡均可通过脚本文件进行调整)
2、所需软件部署步骤(Lua For Windows、Wireshark)
2.1安装Lua For Windows
使用安装包LuaForWindows_v5.1.4-46.exe
[LuaForWindows_v5.1.4-46.exe]
安装Lua
点击Next
选择第一个选项 I accept,然后点击Next
选择安装路径,直接使用默认路径,直接点击Next(将安装路径记录一下)
以上三步直接选择Next即可
选择Install,等待安装完毕
安装成功界面,点击Finish,安装完成
2.2安装抓包工具Wireshark
使用安装包 Wireshark-4.4.5-x64.exe
[Wireshark-4.4.5-x64.exe]
安装Wireshar
双击安装包,点击Next
点击Noted
以上三步直接选择Next即可
选择安装路径,直接使用默认路径,直接点击Next(将安装路径记录一下)
点击Next
点击Install,等待安装完成
安装成功,点击Next
点击Finish,完成安装
3、环境变量配置
3.1环境变量配置方法
右键此电脑,点击属性选项
点击高级系统设置
点击环境变量,出现以下界面
点击系统变量下Path,并点击新建
将刚才的默认安装路径粘贴进去,
Lua For Windows路径为:C:Program Files (x86)Lua.1 (安装Lua For Windows时,正常软件会自动将环境变量配置进去,检查一下,如果没有该环境变量,手动添加一下)
WireShark路径为:C:Program FilesWireshark
然后点击确定,剩余页面依次点击确定进行关闭(关闭环境配置相关页面时,不可点击右上角x直接关闭,会导致环境变量配置不生效)
3.2环境变量配置成功验证方法
3.2.1 Lua配置成功成功验证方法
按win + R,回车,在弹出的命令窗口输入 lua -v,回车
如图,即为lua for windows环境变量配置成功
3.2.2 Wireshark配置成功验证方法
按win + R,回车,在弹出的命令窗口输入 tshark -v,回车
如图,即为Wireshark环境变量配置成功
如果配置失败,请按照 3.1 环境变量配置方法 进行对照排查
4、脚本文件配置说明(抓包文件存储地址,总包大小限制,单包大小限制、检查间隔时间)
4.1 capture_dir
抓包文件存储路径,默认路径为 “D:capture”
4.2 max_total_size
总大小限制,默认配置为 500MB
4.3 file_size_limit
单个文件大小限制,默认配置为50MB
4.4 check_interval
检查间隔,单位为秒,默认配置为10秒
4.5 监视网卡配置
下划线部分为需要监视的网卡名称,网卡名称查看方法如下
1)按win + R,输入cmd
2)在弹出的命令行窗口输入tshark -D,回车
如图,框住部分为网卡名称
3)
protobuf
-- 启动新抓包会话
local cmd = string.format(
'start /B tshark -i "DeviceNPF_{FE70D6BD-4557-4D78-89E9-A28EA867E12F}" -w "%s%s"',
capture_dir,
current_filename
)
上述命令为单网卡监视命令(命令从所给出的lua脚本文件中截取),下划线部分为监视网卡名称,
多网卡监视命令,在单网卡后追加网卡名称即可,如下形式(网卡名称的格式一般为"DeviceNPF_{2DB353B0-968A-4B75-B028-09D172A40291}",添加到脚本文件中时,需要注意转译问题,需要将 变成 )
Lua
-- 启动新抓包会话
local cmd = string.format(
'start /B tshark -i 网卡1名称 -i 网卡2名称 -i 网卡3名称 -w "%s%s"',
capture_dir,
current_filename
)
5、脚本执行及验证
脚本文件如下
[capture_win.lua]
5.1 脚本执行
1)按win键,搜索Windows PowerShell,然后右键以管理员身份运行
2)准备文件存储目录,在已打开的命令窗口输入 mkdir D:capture (D:capture为文件的存储目录)
输入后验证上述路径是否存在capture文件夹
3)在D盘创建文件夹 LuaForWireshark,将脚本文件放入该文件夹
在已打开的命令窗口输入 lua D:LuaForWiresharkcapture_win.lua ,按回车执行脚本文件,
脚本开始执行
打开D盘capture文件夹,查看是否有后缀为.pcap文件生成,若有,脚本执行成功
脚本执行成功后,不要关闭或点击命令行窗口
如果出现报错情况,请检查监视网卡配置是否正确。
附件(所需安装包及脚本文件)
[LuaForWindows_v5.1.4-46.exe]
[Wireshark-4.4.5-x64.exe]
[capture_win.lua]
脚本文件、安装包以及使用说明网盘链接
通过网盘分享的文件:lua脚本自动抓包
链接: https://pan.baidu.com/s/1hNn2B59HD1GZ9fe6gNZNpQ 提取码: 5843