分类:tools

Linux capabilities

  • 对于权限细节参考man 7 capabilities;
  • 对于-+= eip操作符参考 man 3 cap_from_text;
  • 文档中命令setcap、getcap等都可以通过man命令查看;

我需要在VS Code 调试NuttX应用,它的Sim应用需要cap_net_raw,cap_net_admin权限,否则就无法正常操作HCI设备。

当然网上有一些帖子尝试将VS Code或者GDB运行在root用户,显然这样操作是非常不优雅的。

所以这里尝试给需要调试的应用利用linux capabilities直接给可执行文件设置权限。

此时运行程序,可以通过capsh或者getcaps检查进程确认已经设置成功。

此时通过VS Code启动调试后发现其却没有了需要的文件权限。

看起来是父进程/usr/bin/gdb 启动nuttx进程的时候并没有使用其文件文件属性。

直接测试了gdb ./nuttx确认和上面现象一致,strace确认其通过ptrace创建进程。

怀疑这里是gdb进程没有cap_sys_ptrace权限,添加后再次通过VS Code启用nuttx调试发现其进程已经具有我们需要的权限。

beyond compare 使用记录

  • beyond compare 4 key

  • 使用到期后提示需要注册,并且不能打开软件,亦或者在注册 Beyond Compare 选项会一闪而过,不能弹出输入密钥窗口。

    删除安装文件夹的BCUnrar.dll。

  • 使用如上密钥一段时间后提示密钥已注销。

    尝试删除C:\Users\Mdp-Jay\AppData\Roaming\Scooter Software\Beyond Compare 4 xml 文件。

配置Unify 交换机实现镜像端口抓包

下载Wireshark ,默认安装。成功安装后直接打开。

登录 UnifiWeb管理界面,CURRENT SITE选择 场地。

选择场地后,通过DEVICES 选择需要抓包的设备所在交换机。

选择交换机后通过进入端口设置。

进入交换机界面选择任意未使用任何镜像端口进行配置。

这里我们选择 Port 39 进行设置进行端口设置。

进入端口设置后选择 ADVACNCED OPTIONS 进行高级设置。Operation选择 镜像端口 Mirroring。

同时选择需要抓包设备的所在端口 Mirroring Port。

成功安装Wireshark和配置交换机后,按照以下拓扑结构进行连接后抓包。被监控主机为GAC-300 门禁设备,监控主机为成功安装Wireshark的PC主机。通过交换机配置 所述成功配置交换机镜像端口绑定。

如下为Wireshark 抓包示意图。

成功搭建以上环境后,打开Wireshark。选择连接网线的本地连接进行抓包。

可以尝试通过在被监控的主机-GAC-300 门禁上面ping,如果在Wireshark上面抓取到ICMP环回包,说明以上环境配置成功。

成功ping包完后,保存文件(文件->保存)方便以后分析,同时可以通过统计->对话->IPv4 进行统计。