gpt4 book ai didi

python - 无法发送数据包(Errno 9 : Bad file descriptor)

转载 作者:行者123 更新时间:2023-12-01 07:06:41 28 4
gpt4 key购买 nike

嗨,我是 Python 和 Scapy 的初学者。当我尝试在基本第 2 层数据包上使用 sendp() 时,出现回溯错误。

使用Python 3.8和最新的Scapy开发版本https://scapy.readthedocs.io/en/latest/installation.html#platform-specific-instructions

这是我在 Python shell 中输入的内容:

import scapy
from scapy.all import *
a=Ether()/IP(dst="www.google.ca")/ICMP()/"Hello world"
sendp(a)

这是错误消息:

Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
sendp(a)
File "C:\Users\hoang\AppData\Local\Programs\Python\Python38-32\lib\site-packages\scapy-git_archive.dev304758016-py3.8.egg\scapy\sendrecv.py", line 336, in sendp
results = __gen_send(socket, x, inter=inter, loop=loop,
File "C:\Users\hoang\AppData\Local\Programs\Python\Python38-32\lib\site-packages\scapy-git_archive.dev304758016-py3.8.egg\scapy\sendrecv.py", line 296, in __gen_send
os.write(1, b".")
OSError: [Errno 9] Bad file descriptor

最佳答案

正如 @furas 所指出的,这确实是您的控制台的问题(IDLE?)。Scapy 尝试显示数据包已发送,但失败。

您可以随时使用

sendp(p, verbose=False)

要禁用日志,从而解决该问题。

但是我必须说,如果 os.write(1, ..) 是过去唯一的选择,那么现在它就有点过时了。这可能可以在上游修复。

关于python - 无法发送数据包(Errno 9 : Bad file descriptor),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58416797/

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