socket.pack()'pack'需要一个'Struct'对象,但收到一个'str'

时间:2018-07-11 06:42:03

标签: python-3.x sockets networking packet

我一直试图通过我创建的套接字发送数据包

def createPacket (id):
    header = Struct.pack('bbHHh', 0, 0, 0, id, 1)    
    data = ''
    header = Struct.pack('bbHHh' , 0,0,socket.htons(chksum(header+data)),id ,1)
    return header+data

def send_reply(dest,timeout=1):
    sock = socket.socket(socket.AF_INET, socket.SOCK_RAW,  socket.getprotobyname('icmp'))
    pkt_id = int((id(timeout) * random.random()) / 65535)
    packet = createPacket(pkt_id)
    send = sock.sendto(packet ,dest)

,我有一种计算校验和的方法。 但是当我运行它时,python3解释器给了我这个错误:

TypeError: descriptor 'pack' requires a 'Struct' object but received a 'str'

我不知道如何处理。

0 个答案:

没有答案