saprus update
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"unicode/utf8"
|
||||
//"bytes"
|
||||
//"encoding/binary"
|
||||
"log"
|
||||
"net"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/google/gopacket"
|
||||
"github.com/google/gopacket/layers"
|
||||
"github.com/mdlayher/packet"
|
||||
"github.com/google/gopacket"
|
||||
"github.com/google/gopacket/layers"
|
||||
"github.com/mdlayher/packet"
|
||||
|
||||
"saprusserver/structs"
|
||||
)
|
||||
|
||||
type SocketCall struct {
|
||||
@@ -44,11 +48,6 @@ func (c* SocketCall)init(data string) {
|
||||
iface, _ := net.InterfaceByName("virbr0")
|
||||
conn, err := packet.Listen(iface, packet.Raw, int(layers.EthernetTypeIPv4), nil)
|
||||
|
||||
payload := []byte(data)
|
||||
if len(payload) > 1500 {
|
||||
log.Printf("Larger than 1500 -- %d", len(payload))
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
@@ -72,6 +71,10 @@ func (c* SocketCall)init(data string) {
|
||||
SrcPort: 6868,
|
||||
DstPort: 6767,
|
||||
}
|
||||
saprus := structs.SaprusHeaderFrame{
|
||||
MagicNumber: 132,
|
||||
Payload: []byte(data),
|
||||
}
|
||||
|
||||
buf := gopacket.NewSerializeBuffer()
|
||||
opts := gopacket.SerializeOptions{
|
||||
@@ -80,7 +83,7 @@ func (c* SocketCall)init(data string) {
|
||||
}
|
||||
|
||||
udp.SetNetworkLayerForChecksum(&ip)
|
||||
err = gopacket.SerializeLayers(buf, opts, ð, &ip, &udp, gopacket.Payload(payload))
|
||||
err = gopacket.SerializeLayers(buf, opts, ð, &ip, &udp, gopacket.Payload(saprus.Bytes()))
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user