gpt4 book ai didi

python - 无法在具有特定 IP 和端口的 Linux 机器上使用 Python 获取原始 UDP 套接字

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:13 34 4
gpt4 key购买 nike

我正在尝试使用 Linux 系统上的 Python 连接到使用 UDP 套接字监听特定 IP 和端口号的 Windows 系统。

我知道 IP 和端口号,但不知道任何主机名。但我认为连接并发送一条小消息会很容易。无论我如何指定地址,我都会收到错误消息。

import socket


def openSocket():
HOST = "1.1.1.1"
PORT = 111
server_address = (HOST, PORT)
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(ETH_P_ALL) )
s.connect(server_address)
s.sendAll("HELLO")
s.close()



openSocket()

最佳答案

你只需要阅读错误:

s.connect(server_address) File "<string>", line 1, in connect TypeError: argument 1 must be string, not tuple

它直接指向您的 connect() 调用。现在将其与官方 python documentation 进行比较.

我注意到您想要生成 UDP 套接字,但使用 RAW 作为类型而不是 DGRAMRAW 将为您提供原始网络协议(protocol)级别的访问权限(即低于 UDP 的级别),因此不能与 (HOST,PORT) 元组一起使用。

关于python - 无法在具有特定 IP 和端口的 Linux 机器上使用 Python 获取原始 UDP 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372060/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com