further updates

This commit is contained in:
Pin
2023-03-20 23:29:49 -04:00
parent 643be473a2
commit 9812b17738
4 changed files with 89 additions and 2 deletions

View File

@@ -0,0 +1,39 @@
package utils
import (
"log"
"github.com/google/gopacket"
"saprusserver/structs"
)
func (c* SocketCall) FileTransferPacket(message string) gopacket.SerializeBuffer {
eth, ip, udp := basePacket(c)
sapFile := structs.SaprusFileTransfer {
Flag: [1]byte{0x11},
Sequence: [2]byte{0x22, 0x33},
Checksum: [2]byte{0x44, 0x44},
Payload: []byte(message),
}
sapHeader := structs.SaprusHeaderFrame {
PacketType: [2]byte{0x88, 0x88},
Length: c.saprusPayloadLength(sapFile.Bytes()),
Payload: sapFile.Bytes(),
}
buf := gopacket.NewSerializeBuffer()
opts := gopacket.SerializeOptions {
ComputeChecksums: true,
FixLengths: true,
}
udp.SetNetworkLayerForChecksum(&ip)
err := gopacket.SerializeLayers(buf, opts, &eth, &ip, &udp, gopacket.Payload(sapHeader.Bytes()))
if err != nil {
log.Panic(err)
}
return buf
}