首页
/ NTDissector 使用教程

NTDissector 使用教程

2025-04-17 19:43:32作者:郦嵘贵Just

1. 项目目录结构及介绍

NTDissector 是一个用于解析 NTDS 数据库记录的工具。以下是项目的目录结构:

ntdissector/
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
└── ntdissector/
    ├── __init__.py
    ├── parser.py
    ├── utils.py
    └── worker.py
  • .gitignore:用于版本控制,指定不需要提交到 Git 仓库的文件和目录。
  • LICENSE:项目的许可文件,说明了项目的使用和分发条款。
  • README.md:项目的说明文件,包含了项目的介绍、安装和使用的说明。
  • requirements.txt:项目依赖的 Python 包列表,用于安装项目所需的依赖。
  • setup.py:项目的设置文件,用于打包和分发项目。
  • ntdissector:项目的核心代码目录,包含了所有的 Python 模块。

2. 项目的启动文件介绍

项目的启动主要是通过命令行工具 ntdissector 来进行的。这个命令行工具是由 setup.py 文件中的 entry_points 定义,并且会调用 ntdissector/ntdissector.py 中的 main 函数。

ntdissector.py 文件中定义了命令行参数的解析和程序的主要逻辑。以下是 main 函数的基本结构:

def main():
    # 解析命令行参数
    parser = argparse.ArgumentParser(description='NTDS Dissector')
    # 添加参数
    parser.add_argument(...)
    # 解析参数
    args = parser.parse_args()
    
    # 根据参数执行相应操作
    # ...

if __name__ == '__main__':
    main()

3. 项目的配置文件介绍

NTDissector 的配置主要是通过命令行参数来进行的。用户可以在命令行中指定不同的参数来控制程序的运行行为。以下是一些主要的配置参数:

  • -h--help:显示帮助信息。
  • -system SYSTEM:指定 SYSTEM 系统文件的路径。
  • -ntds NTDS:指定 NTDS 文件的路径。
  • -outputdir OUTPUTDIR:指定输出目录的路径。
  • -cachedir CACHEDIR:指定缓存目录的路径。
  • -f FILTER:过滤特定的对象类。
  • -limit LIMIT:限制输出的对象数量。
  • -cn:切换 CN 命名输出。
  • -debug:开启 DEBUG 输出。
  • -verbose:开启 INFO 输出。
  • -silent:静默模式。
  • -ts:在日志输出中添加时间戳。
  • -keepDel:保留删除的记录。

用户可以通过命令行选项来配置这些参数,例如:

ntdissector -ntds NTDS.dit -system SYSTEM -outputdir /tmp/ntdissector/ -ts -f user,group,secret

这个命令会解析 NTDS.dit 文件和 SYSTEM 文件,并将用户、组和密钥的记录输出到 /tmp/ntdissector/ 目录,同时在输出中添加时间戳。

登录后查看全文
热门项目推荐