Проблема с кодом python, отправка сетевых пакетов

Рейтинг: -1Ответов: 1Опубликовано: 05.04.2023

Мне нужно чтобы моя программа бесконечно отправляла сетевые пакеты на свой локальный IP адрес до тех пор пока я не остановлю этот процесс. Но код выдаёт ошибку, помогите пожалуйста

import sys
import os
import time
import socket
import random

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bytes = random._urandom(1490)

ip = '192.168.1.62' # Local-IP PC
port = '7854'

os.system("cls")
time.sleep(2)
sent = 1
while True:
     sock.sendto(bytes, (ip,port))
     sent = sent + 1
     port = port + 1
     print("Sent %s packet to %s throught port:%s"%(sent,ip,port))
     if port == 65530:
          port = 1

код выводит ошибку

Traceback (most recent call last):
  File "C:\Users\Артём\Desktop\pingPC.py", line 28, in <module>
    sock.sendto(bytes, (ip,port))
TypeError: an integer is required (got type str)

Ответы

▲ 1

Проблема была решена следующим образом:

import os
import socket
import time
import random
from datetime import datetime

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bytes = random._urandom(1490)

ip = "127.0.0.1"
port = 8080

os.system("cls")
time.sleep(2)
sent = 1
start_time = datetime.now()

while True:
    sock.sendto(bytes, (ip, port))
    port += 1
    if port >= 65535:
        port = 8080
    sent += 1
    print(f"Sent {sent} packets, Time: {datetime.now() - start_time}")```