首页 > 解决方案 > Python脚本将数据包发送到IP,如packetsender.com

问题描述

我在使用 python 脚本发送数据包时遇到问题。我已经像这样使用 socket.send 了:

import socket
try:
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(10)
    s.connect(("10.10.0.250", 8010))

    print(s)

    while True:
        try:
            s.send(b'1b02fa031b03c8')
            reply = s.recv(131072)
            if not reply:
                break
            print("recvd: ", reply)
        except KeyboardInterrupt:
            print("bye")
            break
    s.close()
except socket.error as socketerror:
    s.close()
    print("Error: ", socketerror)

但显示错误:超时。 在此处输入图像描述 我已确保 10.10.0.250 已连接到我的笔记本电脑。

发送字符串我已经在应用程序调用packetender中尝试过,使用此工具一切正常。

在此处输入图像描述

问题是 WHAT SCRIPT PYTHON 与 packetender 中的使用等效?

不管怎么说,还是要谢谢你。问候

标签: pythonpacket

解决方案


我对此有答案:

  • 非常感谢@jackw1111,您的评论作为线索:在脚本中使用原始套接字时,大多数操作系统需要高级权限(例如 root 用户)才能运行它们。
  • 发送数据包必须在 ascii 中:
packet = b'\x1b\x02\xfa\x03\x1b\x03\xc8'
s.send(packet)

谢谢大家


推荐阅读