图片来源:https://www.pixiv.net/artworks/101295432 Linux下从网卡读取数据需要root权限,以普通用户身份运行的Wireshark无法抓包 临时方案 使用root权限启动Wireshark 不太安全的方案 利用“SUID”让所有用户执行特定二进制程序时能够拥有root权限,SUID简单介绍可参看 SUID、SGID和SBIT 推荐方案 给 /usr/bin/dumpcap 添加抓包的权限,添加一个新用户组wireshark,使所有组内用户能够执行 /usr/bin/dumpcap,有的Linux发行版(比如ArchLinux、Ubuntu)用包管理器安装wireshark后,其实默认就是这个方案,只是不会自动将用户加入wireshark用户组而已 查看/usr/bin/dumpcap 如果输出类似上面这样, 文件所属组为wireshark,组成员具有可读和可执行权限,则只需要将当前用户加入wireshark用户组,然后注销重新登录即可 如果不是话,就要自己手动执行创建用户组等全部操作,然后注销重新登录 参考:
Linux
图片来源:https://www.pixiv.net/artworks/101077465 Debain,Ubuntu,Deepin等使用deb包的发行版 已安装的包 根据文件名(命令名)查找包名 根据包名查看其所包含文件 未安装的包 要查找未安装的包需要额外工具 apt-file (使用 sudo apt install apt-file 安装),使用前可以先更新本地缓存 sudo apt update 根据文件名(命令名)查找包名 根据包名查看其所包含文件 RHEL,Centos,Fedora等使用rpm包的发行版 根据文件名(命令名)查找包名 或 根据包名查看其所包含文件 要查询未安装的包所包含的文件需要额外工具 repoquery (使用 sudo yum install yum-utils 或 sudo dnf install dnf-utils 安装) Arch,Manjaro等使用 pacman 的发行版 根据文件名(命令名)查找包名 或 根据包名查看其所包含文件 或
图片来源:https://www.pixiv.net/artworks/95096478 X Window剪贴板 X提供了3个剪贴板,分别是“Primery selection” 、“Secondar selection”和 “Clipboard”,它们使用不同的区域存储数据,其中“Secondar selection”现在几乎没有应用使用。 Clipboard 这个就是平常熟悉的剪贴板,和windows下一样 Primery selection “Primery selection”不需要使用额外的快捷键,鼠标选中自动复制,按下鼠标滚轮粘贴 Secondar selection 一般来说用不上,要使用的话可以借助“xclip”来读取和写入数据 写入数据到“Secondar selection” 读取“Secondar selection”存储的数据并输出 配置 罗技官方的G HUB软件只支持Windows和MacOS, Linux下可以使用piper来自定义G502的按键 打开piper ,按需设置各个按键即可,非常无脑。 通用的复制粘贴 这里我选择把“G4”和“G5”绑定到粘贴(Shift + Insert)和复制(Ctrl + Insert),不使用“Ctrl + V”和“Ctrl + C”是因为Linux的模拟终端软件为了防止和SHELL中的快捷键冲突通常会把复制和粘贴设置成“Ctrl + Shift + C”“Ctrl + Shift + V”。如果你还使用了GoldenDict,可以把GoldenDict默认的“Ctrl + C + C”弹窗翻译换成 “Ctrl + Ins + Ins”,选中单词或句子后,双击“G5”即可翻译,体验非常棒。 访问剪贴板历史 这个需要配合剪贴板管理器,比如KDE默认的剪贴板管理器,可以将访问剪贴板历史的操作绑定到快捷键 然后在piper中把G502的滚轮左/右点击操作绑定到“Ctrl + Alt + Shift + N”“Ctrl + Alt + Shift +P”,这样通过“G4”“G5”和滚轮左/右点击操作配合就可以实现多值的复制粘贴操作
图片来源:https://www.pixiv.net/artworks/82352687 要抓取一些由于众所周知的原因无法直接使用的软件的报文或者要抓取软件在不同国家/城市下报文时,可以配置透明代理,在软件客户端不感知代理环境的情况下抓取尽量真实的流量 配置透明代理 以Ubuntu为例,采用v2ray + v2rayA内置透明代理。这个方案配置上比较简单,但日常使用体验上个人感觉比v2ray + qv2ray + cgproxy的方案略差一些 安装v2ray 由于Ubuntu和v2ray官方都没有提供软件源,这里选择第三方的铜豌豆Linux软件源 添加软件源 安装v2ray 安装v2rayA 添加公钥 添加 v2rayA 软件源 安装v2rayA 配置 启动v2rayA并设置开机自启 如果不想开机自启,可以在需要用的时候手动启动 访问http://127.0.0.1:2017/,第一次访问设置帐号密码 点击左上“导入”按钮填写节点链接地址或者订阅地址,点击确认。至于如何获取节点链接地址或者订阅地址,请自己想办法 点击右上角设置,配置参考如下图,也可以根据需要自行修改,修改完成点击“保存并应用”(第四项转发DNS请求有助于让流量更真实,但如果代理节点在国外可能会影响国内网站的访问速度,甚至可能出现无法访问的情况,请根据需要修改) 选择一个节点连接,然后点击左上角启动即可。由于我导入的是订阅地址,会生成一订阅名相关的标签,节点在该标签里,如果导入的是节点地址,节点会出现在“Server”标签里阅地址 设置完成后,访问http://www.ip111.cn/测试一下 抓包 Wireshark Linux安装wireshark之后可能会出现找不到网卡无法抓包的情况,解决方案参考这个:https://blog.geekgo.tech/linux/linux%e4%b8%8bwireshark%e6%97%a0%e6%b3%95%e6%8a%93%e5%8c%85%e9%97%ae%e9%a2%98/ 一般情况下不建议直接将透明代理和要抓包的软件安装在同一设备上,因为: 建议的做法是在配置了透明代理的LinuxPC上开启无线热点,将要抓包的软件安装在其他设备上并连接热点,使用wireshark直接抓取入口无线网卡的报文即可(无线网卡名称一般以“wl”开头,如“wlan0”) 无线网卡 如果你是在Linux PC上配置的透明代理环境,并且恰巧你的主版没有内置无线网卡,那就需要一张USB无线网卡,但市面上很多宣传支持Linux的USB无线网卡实际只是能连接WIFI,并不支持AP模式开热点。目前我测试过的有rt5370芯片和 rt3070芯片的无线网卡linux上都是可以开热点的,也不用折腾第三方驱动,价格在30-40软妹币之间,抓包分析用足够了。 查看无线网卡是否支持AP模式 支持AP模式的话,“Supported interface modes”下会有一行“* AP” 参考:
图片来源:https://www.pixiv.net/artworks/99335528 SUID SGID SBIT 全称 set UID set GID Sticky Bit 解释 s标志出现在文件拥有者的x权限位置上 :-rwsr-xr-x s标志出现在文件群组的x权限位置:-rwxr-sr-x t标志出现在其他人的x权限位置:drwxr-sr-t 添加命令 chmod u+s file chmod g+s file_or_dir chmod o+t dir 有效对象 二进制可执行文件 二进制可执行文件,文件夹 文件夹 效果 文件执行者在该程序运行期间将获得程序拥有者的权限 对于文件:文件执行者在该程序运行期间将获得程序所在群组的权限; 对于文件夹:使用者在该文件夹下时,有效群组将变成该文件夹的群组 当使用者在该文件夹下创建文件或文件夹时,仅有自己与 root 才有权力删除该文件 这三个权限都是建立在可执行权限之上,当可执行标志位为空时设置,如果设置了SUID、SGID和SBIT,会显示为大写:rwSr-Sr-T 参考: 《鸟哥的Linux私房菜——基础学习篇(第四版)》
图片来源:《空之境界》截图 添加archlinuxcn主仓库和密钥 添加archlinuxcn主仓库到“/etc/pacman.conf”,“Server”后面的连接也可以从https://github.com/archlinuxcn/mirrorlist-repo里选一个 更新现有仓库 导入密钥 可选操作:使用archlinuxcn镜像列表 安装archlinuxcn镜像列表,这个包只有一个文件 “/etc/pacman.d/archlinuxcn-mirrorlist”,根据需要自行修改该文件,移除要使用的源最前面的 # 即可 修改“/etc/pacman.conf”,把之前在“/etc/pacman.conf”添加的内容删掉,改成这样 参考: