0
我正在讀取一個從讀取文件生成的列表,並嘗試將每個項目連接到另一個輸入字符串。我可以理解錯誤;我無法用字符串連接列表項。但是,如何將列表中的每個項目轉換爲字符串。我試過,但那也沒用。使用字符串連接列表項目
,我發現了以下錯誤:
錯誤
Traceback (most recent call last):
File "./attack2.py", line 40, in <module>
print subcheck(returned_list, ['--domain'])
File "./attack2.py", line 31, in subcheck
socket.gethostbyname(sub + domain)
TypeError: cannot concatenate 'str' and 'list' objects
CODE
#!/usr/bin/python
"""
Description:
Basic Domain bruteforcer
Usage:
attack2.py (-f <file>) (-d <domain>) [-t 10] [-v]
attack2.py -h | --help
Arguments:
-f --file File to read potential Sub-domains from. (Required)
-d --domain Domain to bruteforce. (Required)
Options:
-h --help Show this screen.
-p --proxy Proxy address and port. [default: http://127.0.0.1:8080] (Optional)
-t --thread Thread count. (Optional)
-v --verbose Turn debug on. (Optional)
"""
import socket
from docopt import docopt
def fread(dwords):
flist = open(dwords).readlines()
return [s.replace('\n', '.') for s in flist]
def subcheck(subdomain, domain):
for sub in subdomain:
socket.gethostbyname(sub + domain)
return output
if __name__ == "__main__":
arguments = docopt(__doc__, version='0.1a')
print arguments
print fread(arguments['--file'])
returned_list = fread(arguments['--file'])
print subcheck(returned_list, ['--domain'])
對不起,我不知道你的意思。我試圖從列表中獲取值(例如:admin。)並將它們與通過域參數傳遞的域名聯繫起來,然後生成'socket.gethostbyname'來檢查拼接列表項和域是否有效。希望有道理 – iNoob
好的。但是要真正將域名傳遞給'subcheck'函數,你必須從'arguments'中取出它。如果你只給了'['--domain']',它就不會知道用戶指定了什麼。 – Kevin
arr ic,好,所以我有2個問題。感謝您指出了這一點。即時通訊現在得到它的參數,並獲得以下錯誤' 回溯(最近呼叫最後): 文件「./attack2.py」,第40行,在 打印子檢查(returned_list,arguments [' - ]) 文件「./attack2.py」,第31行,在子檢查 socket.gethostbyname(sub + domain) socket.gaierror:[Errno -2]名稱或服務未知,所以如果我知道正確的我需要循環子檢查功能中的每個項目? –
iNoob