GHunt命令行高级技巧:快捷键与批处理脚本编写指南

GHunt命令行高级技巧:快捷键与批处理脚本编写指南

【免费下载链接】GHunt 🕵️‍♂️ Offensive Google framework. 【免费下载链接】GHunt 项目地址: 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. 【免费下载链接】GHunt 项目地址: https://gitcode.com/GitHub_Trending/gh/GHunt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值