命令与脚本:其他实用工具 · 模拟不同架构的计算机至记忆、笔记、参考文献与信息阅读
模拟不同架构的计算机
按目标架构选择 QEMU 系统模拟器,分别保留启动磁盘、内存和设备参数。
qemu-system-i386 · 模拟 i386 架构
更多信息:https://www.qemu.org/docs/master/system/target-i386.html。
- 从一个模拟
i386架构的镜像启动:
qemu-system-i386 -hda {{image_name.img}} -m {{4096}}- 从一个实时 ISO 镜像启动 QEMU 实例:
qemu-system-i386 -hda {{image_name.img}} -m {{4096}} -cdrom {{os_image.iso}} -boot d- 从物理设备启动(例如从 USB 启动以测试可引导介质):
qemu-system-i386 -hda {{/dev/storage_device}} -m {{4096}}- 不显示图形窗口,将串口和监视器重定向到当前终端(-nographic):
qemu-system-i386 -hda {{image_name.img}} -m {{4096}} -nographic- 退出无图形界面的 QEMU:
<Ctrl a><x>- 列出支持的机器类型:
qemu-system-i386 {{[-M|-machine]}} helpqemu-system-x86_64 · 模拟 x86_64 架构
模拟
x86_64架构。 更多信息:https://www.qemu.org/docs/master/system/target-i386.html。
- 从一个模拟
x86_64架构的镜像启动:
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}}- 从一个 Live ISO 镜像启动 QEMU 实例:
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}} -cdrom {{操作系统镜像.iso}} -boot d- 从物理设备启动(例如:从 USB 启动以测试一个可启动介质):
qemu-system-x86_64 -hda {{/dev/存储设备}} -m {{4096}}- 不显示图形窗口,将串口和监视器重定向到当前终端(-nographic):
qemu-system-x86_64 -hda {{镜像名称.img}} -m {{4096}} -nographic- 退出非图形界面的 QEMU:
<Ctrl a><x>- 列出支持的机器类型:
qemu-system-x86_64 {{[-M|-machine]}} helpqemu-system-riscv64 · 模拟 riscv64 架构
更多信息:https://www.qemu.org/docs/master/system/target-riscv.html。
- 启动一个模拟
riscv64架构的内核:
qemu-system-riscv64 {{[-M|-machine]}} virt -bios none -kernel {{kernel.elf}} -nographic- 列出支持的机器类型:
qemu-system-riscv64 {{[-M|-machine]}} help- 退出无图形界面的 QEMU:
<Ctrl a><x>发现资产、分析固件与管理网络身份
amass、binwalk、androguard 分别面向资产、固件和 Android 应用;ZeroTier 身份、AdGuardHome 和 Ansible 资源管理另列。
amass · 深度攻击面探测与资产发现工具
此命令也有关于其子命令的文件,例如:
intel。 更多信息:https://github.com/owasp-amass/amass。
- 执行 Amass 子命令:
amass {{intel|enum}} {{options}}- 展示帮助信息:
amass -help- 展示子命令帮助信息:
amass {{intel|enum}} -help- 查看 Amass 版本:
amass -versionbinwalk · 固件分析工具
- 扫描一个二进制文件:
binwalk {{二进制文件}}- 解压一个二进制文件并指定输出目录:
binwalk {{[-e|--extract]}} {{[-C|--directory]}} {{输出目录}} {{二进制文件}}- 递归解压一个二进制文件并限制递归深度为 2:
binwalk {{[-e|--extract]}} {{[-M|--matryoshka]}} {{[-d|--depth]}} 2 {{二进制文件}}- 解压一个二进制文件并指定文件签名:
binwalk {{[-D|--dd]}} '{{png image:png}}' {{二进制文件}}- 分析一个二进制文件的熵,用与文件相同的名字和
.png后缀保存绘图:
binwalk {{[-E|--entropy]}} {{[-J|--save]}} {{二进制文件}}- 在单条命令中组合熵、签名和操作码分析:
binwalk {{[-E|--entropy]}} {{[-B|--signature]}} {{[-A|--opcodes]}} {{二进制文件}}androguard · 使用 Python 编写的一款针对安卓应用的逆向工程工具
- 展示 Android manifest 清单文件:
androguard axml {{路径/至/应用}}.apk- 展示 app 元数据(版本和 app ID):
androguard apkid {{路径/至/应用}}.apk- 反编译 Java 代码:
androguard decompile {{路径/至/应用}}.apk --output {{路径/至/目录}}zerotier-idtool · 创建和操作 ZeroTier 身份
另请参阅:
zerotier-cli,zerotier-one。 更多信息:https://github.com/zerotier/ZeroTierOne/blob/dev/doc/zerotier-idtool.1.md。
- 生成一个新的 ZeroTier 身份,并将私钥部分输出到
stdout:
zerotier-idtool generate- 生成一个新的 ZeroTier 身份,并将私钥和公钥部分保存到文件中:
zerotier-idtool generate {{路径/到/identity.secret}} {{路径/到/identity.public}}- 生成一个具有指定十六进制靓号前缀的 ZeroTier 身份(可能需要很长时间):
zerotier-idtool generate {{路径/到/identity.secret}} {{路径/到/identity.public}} {{靓号_前缀}}- 从私钥身份中提取公钥部分:
zerotier-idtool getpublic {{路径/到/identity.secret}}- 使用私钥身份对文件进行签名:
zerotier-idtool sign {{路径/到/identity.secret}} {{路径/到/文件}}- 使用公钥身份和一个十六进制签名来验证已签名的文件:
zerotier-idtool verify {{路径/到/identity.public}} {{路径/到/文件}} {{签名_十六进制}}- 在本地验证一个身份的密钥和工作量证明:
zerotier-idtool validate {{路径/到/identity.public}}- 显示帮助:
zerotier-idtool helpAdGuardHome · 一款全网广告拦截与反跟踪软件
- 运行 AdGuard Home:
AdGuardHome- 使用给定的配置文件运行 AdGuard Home:
AdGuardHome --config {{给定的/配置文件.yaml}}- 设置存储数据的工作目录:
AdGuardHome --work-dir {{工作目录/路径}}- 安装或卸载 AdGuard Home 的服务:
AdGuardHome --service {{install|uninstall}}- 启动 AdGuard Home 的服务:
AdGuardHome --service start- 刷新 AdGuard Home 服务的设置项:
AdGuardHome --service reload- 停止或重启 AdGuard Home 的服务:
AdGuardHome --service {{stop|restart}}ansible-galaxy · 执行与 Ansible 角色和集合相关的各种操作
更多信息:https://docs.ansible.com/projects/ansible/latest/cli/ansible-galaxy.html。
- 列出已安装的角色或集合:
ansible-galaxy {{role|collection}} list- 使用不同的详细等级搜索角色(
-v应该放在最后):
ansible-galaxy role search {{关键字}} -v{{vvvvv}}- 安装或移除角色:
ansible-galaxy role {{install|remove}} {{角色名称1 角色名称2 ...}}- 创建一个新角色:
ansible-galaxy role init {{角色名称}}- 获取关于角色的信息:
ansible-galaxy role info {{角色名称}}- 安装或移除集合:
ansible-galaxy collection {{install|remove}} {{集合名称1 集合名称2 ...}}- 显示关于角色或集合的帮助信息:
ansible-galaxy {{role|collection}} {{[-h|--help]}}scrapy · Web 爬取框架
更多信息:https://docs.scrapy.org/en/latest/topics/commands.html#using-the-scrapy-tool。
- 创建一个项目:
scrapy startproject {{项目名}}- 创建一个爬虫(在项目目录下):
scrapy genspider {{爬虫名}} {{站点域名}}- 编辑爬虫(在项目目录下):
scrapy edit {{爬虫名}}- 运行爬虫(在项目目录下):
scrapy crawl {{爬虫名}}- 抓取一个网页并将它的网页源码打印至标准输出:
scrapy fetch {{url}}- 使用默认浏览器打开给定的 URL 来确认是否符合期望(为确保准确会禁用 JavaScript):
scrapy view {{url}}- 通过给定的 URL 打开交互窗口,除此之外还支持 UNIX 风格的本地文件路径:
scrapy shell {{url}}记忆、笔记、参考文献与信息阅读
学习记忆、Markdown 笔记与参考书目分别查 anki、QOwnNotes、zotero;邮件/RSS、文章、地图编辑和单位换算保留在同一组后半部分。
anki · 强大、智能的记忆卡片软件
更多信息:https://manned.org/anki。
- 启动
anki:
anki- 用一个特定的配置文件启动
anki:
anki {{[-p|--profile]}} {{配置文件名称}}- 以特定语言启动
anki:
anki {{[-l|--lang]}} {{语言}}- 从一个特定的目录而不是默认的(
~/Anki)启动anki:
anki {{[-b|--base]}} {{路径/到/目录}}QOwnNotes · Markdown 笔记应用程序
可以选择与 Nextcloud 和 ownCloud 的笔记应用程序集成。 另请参阅:
qc。 更多信息:https://www.qownnotes.org/getting-started/cli-parameters.html。
- 以便携模式运行:
QOwnNotes --portable- 在 GitHub Markdown 中转储应用程序和环境的设置信息:
QOwnNotes --dump-settings- 为设置和内部文件指定不同的上下文:
QOwnNotes --session {{test}}- 应用程序启动后触发一个菜单操作:
QOwnNotes --action {{actionShow_Todo_List}}zotero · 管理你的参考书目
- 使用图形用户界面运行:
zotero- 以无头模式运行:
zotero --headless- 使用特定的用户配置运行:
zotero -P {{用户配置}}- 运行迁移助手:
zotero --migrationthunderbird · 电子邮件客户端和 RSS 阅读器
- 打开 Thunderbird:
thunderbird- 使用特定用户配置文件:
thunderbird -P {{配置文件名称}}- 使用特定用户配置文件夹:
thunderbird --profile {{路径/到/配置文件/文件夹}}zm · 一个管理报纸和博客文章的工具
- 创建一个新的草稿:
zm new- 编辑草稿:
zm edit- 发布草稿并使用 git 提交:
zm publishjosm · 可扩展的 OpenStreetMap 编辑器,适用于 Java 8+
更多信息:https://manned.org/josm。
- 启动 JOSM:
josm- 在最大化模式下启动 JOSM:
josm --maximize- 启动 JOSM 并设置特定的语言:
josm --language {{de}}- 启动 JOSM 并将所有首选项重置为默认值:
josm --reset-preferences- 启动 JOSM 并下载指定的边界框:
josm --download {{minlat,minlon,maxlat,maxlon}}- 启动 JOSM 并以原始 GPS 格式下载指定的边界框:
josm --downloadgps {{minlat,minlon,maxlat,maxlon}}- 启动 JOSM 并且不加载插件:
josm --skip-pluginsunits · 提供两个度量单位之间的转换
- 以交互模式运行:
units- 在交互模式下列出包含特定字符串的所有单位:
search {{字符串}}- 显示两个简单单位之间的转换:
units quarts tablespoons- 单位与数量之间的转换:
units "15 pounds" kilograms- 显示两个复合单位之间的转换:
units "meters / second" "inches / hour"- 显示面积单位之间的转换(维度必须相容):
units acres "ft^2"- 显示字节乘数的转换:
units "15 megabytes" bytes示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。
继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置