gpt4 book ai didi

python - 在 Python 套接字中接收自定义 Scapy 数据包

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:59 24 4
gpt4 key购买 nike

<分区>

我正在尝试在 python 套接字中使用 Scapy 发送自定义数据包(带有自定义层)。

这是客户端的代码

#!/usr/bin/env python 

import socket
from scapy.all import *


TCP_PORT = 5000
BUFFER_SIZE = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.240.1', TCP_PORT))


class Reservation(Packet):
name = "ReservationPacket"
fields_desc=[ ByteField("id", 0),
BitField("type",None, 0),
X3BytesField("update", 0),
ByteField("rssiap", 0)]

k = IP(dst="192.168.240.1")/Reservation()
k.show()
send(k)

print "Reservation Message Sent"

s.close()

数据包 k 似乎已成功创建并发送。

这是负责接收数据包的服务器:

#!/usr/bin/python

import socket
from scapy.all import *


class Reservation(Packet):
name = "ReservationPacket"
fields_desc=[ ByteField("id", 0),
BitField("type",None, 0),
X3BytesField("update", 0),
ByteField("rssiap", 0)]


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('192.168.240.1', 5000))
s.listen(1)

while True :

conn, addr = s.accept()

print 'Connection address:', addr

print ''

data = conn.recv(1024)
data.show()
conn.close

s.close()

这是我从服务器得到的输出:

Connection address: ('192.168.240.5', 58454)

Traceback (most recent call last):
File "server.py", line 36, in <module>
data.show()
AttributeError: 'str' object has no attribute 'show'

我如何接收我的数据包并将其解码以读取其自定义层?

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