通过读取文本文件的内容来执行命令

2024-04-27 07:18:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用python自动化Linux命令。 命令是:

smbmap -u robert -p p@ssw0rd -H 192.168.2.10

我有一个单词列表,每行都包含可能的用户名。如何编写通过读取文件来执行命令的代码?例如,我有一个名为“users.txt”的列表,其中包含:

robert
admin
administrator
guest

它应该尝试以下操作,直到找到正确的用户&;密码:

smbmap -u robert -p p@ssw0rd -H 192.168.2.10
smbmap -u admin -p p@ssw0rd -H 192.168.2.10
smbmap -u administrator -p p@ssw0rd -H 192.168.2.10
smbmap -u guest -p p@ssw0rd -H 192.168.2.10

谢谢


Tags: 文件代码命令列表adminlinux单词执行命令
1条回答
网友
1楼 · 发布于 2024-04-27 07:18:04

这应该起作用:

import subprocess

# read in users and strip the newlines
with open('/tmp/users.txt') as f:
    userlist = [line.rstrip() for line in f]

# get list of commands for each user
cmds = []
for user in userlist:
    cmds.append('smbmap -u {} -p p@ssw0rd -H 192.168.2.10'.format(user))

# results from the commands
results=[]

# execute the commands
for cmd in cmds:
    results.append(subprocess.call(cmd, shell=True))

# check for which worked
for i,result in enumerate(results):
    if result == 0:
        print(cmds[i])

编辑:将其作为您的文件路径,更改为.format(),检查结果==0(适用于ssh尝试密码)

编辑:忘记添加shell=True

相关问题 更多 >