GHunt命令行高级技巧:快捷键与批处理脚本编写指南
【免费下载链接】GHunt 🕵️♂️ Offensive Google framework. 项目地址: https://gitcode.com/GitHub_Trending/gh/GHunt
你是否还在为频繁输入重复的GHunt命令而烦恼?是否想提高工作效率,实现自动化查询任务?本文将带你掌握GHunt命令行的高级使用技巧,包括快捷键设置和批处理脚本编写,让你轻松应对各种查询场景。读完本文,你将能够:
- 熟练使用GHunt的各种命令及参数
- 设置个性化快捷键提高操作效率
- 编写实用的批处理脚本实现自动化查询
- 解决常见的命令行使用问题
GHunt命令行基础
GHunt作为一款强大的Google框架工具,提供了丰富的命令行功能。通过命令行,用户可以实现各种查询操作,如邮箱信息查询、Gaia ID查询、Drive文件信息获取等。
主要命令模块
GHunt的命令行模块主要定义在ghunt/cli.py文件中,包含以下核心功能模块:
- login:用于GHunt与Google的身份验证
- email:获取邮箱地址相关信息
- gaia:获取Gaia ID相关信息
- drive:获取Drive文件或文件夹信息
- geolocate:通过BSSID进行地理定位
- spiderdal:使用Digital Assets Links查找资产
常用命令示例
查询邮箱是否注册:
ghunt email example@gmail.com
获取Gaia ID信息并输出为JSON文件:
ghunt gaia 1234567890 --json output.json
通过BSSID进行地理定位:
ghunt geolocate -b 30:86:2d:c4:29:d0
快捷键设置与使用
为了提高日常使用效率,可以为常用的GHunt命令设置快捷键(别名)。通过别名,你可以将复杂的命令简化为简短的关键词。
Bash/Zsh环境设置
编辑你的shell配置文件(~/.bashrc或~/.zshrc),添加以下内容:
# GHunt快捷键设置
alias ghemail="ghunt email"
alias ghgaia="ghunt gaia"
alias ghdrive="ghunt drive"
alias ghgeo="ghunt geolocate"
保存后,运行以下命令使配置生效:
source ~/.bashrc # 或 source ~/.zshrc
自定义快捷键示例
创建一个检查多个邮箱是否注册的快捷命令:
alias checkemails="for email in \$@; do ghunt email \$email; done"
使用方法:
checkemails example1@gmail.com example2@gmail.com
批处理脚本编写指南
对于需要重复执行的复杂任务,编写批处理脚本可以极大提高工作效率。以下是几个实用的GHunt批处理脚本示例。
邮箱批量检查脚本
创建文件batch_email_check.sh:
#!/bin/bash
# 批量检查邮箱是否注册的脚本
# 使用方法: ./batch_email_check.sh emails.txt
if [ $# -ne 1 ]; then
echo "使用方法: $0 <邮箱列表文件>"
exit 1
fi
EMAIL_FILE=$1
if [ ! -f "$EMAIL_FILE" ]; then
echo "错误: 文件 $EMAIL_FILE 不存在"
exit 1
fi
echo "开始检查邮箱列表: $EMAIL_FILE"
echo "=============================="
while IFS= read -r email; do
if [ -n "$email" ]; then
echo -n "检查 $email: "
ghunt email "$email" | grep "Registered" | awk '{print $4}'
fi
done < "$EMAIL_FILE"
添加执行权限并运行:
chmod +x batch_email_check.sh
./batch_email_check.sh emails.txt
结合Python的高级批处理
利用GHunt的Python API可以编写更复杂的批处理任务。以下是一个使用Python脚本批量获取人员姓名的示例:
import asyncio
import httpx
from ghunt.apis.peoplepa import PeoplePaHttp
from ghunt.objects.base import GHuntCreds
async def get_person_name(email):
ghunt_creds = GHuntCreds()
ghunt_creds.load_creds()
async with httpx.AsyncClient() as client:
people_api = PeoplePaHttp(ghunt_creds)
found, person = await people_api.people_lookup(client, email, params_template="just_name")
result = {
"email": email,
"found": found,
"name": None
}
if found and "PROFILE" in person.names:
result["name"] = person.names["PROFILE"].fullname
return result
async def batch_get_names(emails):
tasks = [get_person_name(email) for email in emails]
return await asyncio.gather(*tasks)
if __name__ == "__main__":
import sys
if len(sys.argv) < 2:
print("使用方法: python batch_get_names.py <email1> <email2> ...")
sys.exit(1)
emails = sys.argv[1:]
results = asyncio.run(batch_get_names(emails))
for result in results:
print(f"{result['email']}: {result['name'] if result['found'] else 'Not found'}")
高级使用技巧
输出重定向与格式化
将命令输出保存到文件并同时在终端显示:
ghunt gaia 1234567890 | tee gaia_result.txt
使用jq工具格式化JSON输出:
ghunt email example@gmail.com --json - | jq '.name'
命令组合与管道
结合grep筛选特定信息:
ghunt drive 1N__vVu4c9fCt4EHxfthUNzVOs_tp8l6tHcMBnpOZv_M | grep -i "owner\|size"
常见问题解决
认证问题
如果遇到认证相关问题,可以使用以下命令重置凭据:
ghunt login --clean
批量处理效率
对于大量数据处理,建议添加适当的延迟以避免请求过于频繁:
while IFS= read -r email; do
ghunt email "$email"
sleep 2 # 等待2秒
done < large_email_list.txt
总结与展望
通过本文介绍的快捷键设置和批处理脚本编写技巧,你可以大幅提高使用GHunt的工作效率。无论是日常简单查询还是复杂的批量处理任务,这些技巧都能帮助你更轻松地完成工作。
随着GHunt的不断更新,未来还会有更多强大的功能和命令可供探索。建议定期查看项目的README.md文件,了解最新的功能和使用方法。
希望本文对你有所帮助,如果有任何问题或建议,欢迎在项目仓库中提出。记得点赞、收藏本文,以便日后查阅!
【免费下载链接】GHunt 🕵️♂️ Offensive Google framework. 项目地址: https://gitcode.com/GitHub_Trending/gh/GHunt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



