一个简单的python脚本,因为网上找了一圈没有能用的,我们对于一些非法涉诈团队进行取证调查过程中,经常遇到各种海外云以及安全设备,这是个非常头疼的事情,本着每一份信息的收集整理,每一个细胞的排查分析原则,写个小脚本,请勿使用在非法用途!
import subprocess
import os
# 创建一个集合来存储后缀名
suffixes = set()
def process_directory(directory):
# 执行 shell 命令并获取输出
result = subprocess.run(['aws', 's3', 'ls', directory, '--no-sign-request'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
# 将输出分割成行
lines = result.stdout.splitlines()
# 对于每一行,如果它表示一个文件(不是一个目录),则获取文件的后缀名
for line in lines:
parts = line.split()
if len(parts) == 4:
# 使用 os.path.splitext 方法获取文件的后缀名
suffix = os.path.splitext(parts[3])[1]
# 检查集合的大小是否发生了变化
old_size = len(suffixes)
# 将后缀名添加到集合中
suffixes.add(suffix)
new_size = len(suffixes)
if new_size != old_size:
# 如果集合的大小发生了变化,那么打印出新的后缀名
print('New suffix found:', suffix)
# 将文件名写入到文件中
with open('list.txt', 'a') as f:
f.write(directory + parts[3] + '\n')
elif parts[0] == 'PRE':
# 这是一个子目录,递归地处理它
process_directory(directory + parts[1])
# 将目录名写入到文件中
with open('list.txt', 'a') as f:
f.write(directory + parts[1] + '\n')
# 在主目录上调用该函数
process_directory('s3://name/')
# 打印所有的后缀名
for suffix in suffixes:
print(suffix)
这里考虑到一些代码兼容问题使用的python3.6
