Compare commits
2 Commits
13790469a7
...
4ccd7de4b5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ccd7de4b5 | ||
|
|
a3fab879a0 |
@@ -30,9 +30,9 @@ Saprus Protocol Header:
|
||||
0 1 2 3 4
|
||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| Saprus Header | Saprus Type | Length | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
||||
| Saprus Type Payload (0-1453) |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| Saprus Type | Length | |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|
||||
| Saprus Type Payload (0-1455) |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
```
|
||||
|
||||
|
||||
@@ -26,49 +26,41 @@ func welcomeMessage() {
|
||||
fmt.Println(msg)
|
||||
}
|
||||
|
||||
func checkError(err error) {
|
||||
if err != nil {
|
||||
log.Println("Found Error")
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
welcomeMessage()
|
||||
log.Printf("Starting server\n")
|
||||
con := utils.SocketCall{}
|
||||
serv, err := net.ListenPacket("udp4", ":8888")
|
||||
//serverIP := "192.168.122.1:8000/script.sh"
|
||||
serverIP := "hello world client data is fake }P"
|
||||
serverIP := "client data being send from the sender"
|
||||
msg := "clientapi: " + serverIP
|
||||
b64Msg := base64.StdEncoding.EncodeToString([]byte(msg))
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
checkError(err)
|
||||
|
||||
defer serv.Close()
|
||||
|
||||
buff := make([]byte, 2048)
|
||||
|
||||
for {
|
||||
|
||||
_, addr, err := serv.ReadFrom(buff)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
checkError(err)
|
||||
|
||||
remoteAddr := strings.Split(addr.String(), ":")
|
||||
|
||||
//remote, err := net.ResolveUDPAddr("udp4", remoteAddr[0] + ":8850")
|
||||
log.Printf("Received data %s\n", remoteAddr)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
checkError(err)
|
||||
|
||||
con.SendData(b64Msg)
|
||||
|
||||
//conn, _ := net.DialUDP("udp4", nil, remote)
|
||||
//defer conn.Close()
|
||||
|
||||
//conn.Write([]byte(b64Msg))
|
||||
//conn.Close()
|
||||
|
||||
log.Printf("Sending data to %s\n", addr)
|
||||
}
|
||||
}
|
||||
|
||||
17
server/structs/saprus.go
Normal file
17
server/structs/saprus.go
Normal file
@@ -0,0 +1,17 @@
|
||||
package structs
|
||||
|
||||
import (
|
||||
)
|
||||
|
||||
type SaprusHeaderFrame struct {
|
||||
PacketType uint16
|
||||
Length uint16
|
||||
Payload []byte
|
||||
}
|
||||
|
||||
func (c SaprusHeaderFrame) Bytes() []byte {
|
||||
data := []byte{byte(c.PacketType), byte(c.Length)}
|
||||
data = append(data, c.Payload...)
|
||||
return data
|
||||
}
|
||||
|
||||
@@ -72,7 +72,8 @@ func (c* SocketCall)init(data string) {
|
||||
DstPort: 6767,
|
||||
}
|
||||
saprus := structs.SaprusHeaderFrame{
|
||||
MagicNumber: 132,
|
||||
PacketType: 10,
|
||||
Length: uint16(len(data)),
|
||||
Payload: []byte(data),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user