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
|
||||||
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
|
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 | Length | |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|
||||||
| Saprus Type Payload (0-1453) |
|
| Saprus Type Payload (0-1455) |
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -26,49 +26,41 @@ func welcomeMessage() {
|
|||||||
fmt.Println(msg)
|
fmt.Println(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkError(err error) {
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Found Error")
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
welcomeMessage()
|
welcomeMessage()
|
||||||
log.Printf("Starting server\n")
|
log.Printf("Starting server\n")
|
||||||
con := utils.SocketCall{}
|
con := utils.SocketCall{}
|
||||||
serv, err := net.ListenPacket("udp4", ":8888")
|
serv, err := net.ListenPacket("udp4", ":8888")
|
||||||
//serverIP := "192.168.122.1:8000/script.sh"
|
serverIP := "client data being send from the sender"
|
||||||
serverIP := "hello world client data is fake }P"
|
|
||||||
msg := "clientapi: " + serverIP
|
msg := "clientapi: " + serverIP
|
||||||
b64Msg := base64.StdEncoding.EncodeToString([]byte(msg))
|
b64Msg := base64.StdEncoding.EncodeToString([]byte(msg))
|
||||||
|
|
||||||
if err != nil {
|
checkError(err)
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer serv.Close()
|
defer serv.Close()
|
||||||
|
|
||||||
buff := make([]byte, 2048)
|
buff := make([]byte, 2048)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
|
||||||
_, addr, err := serv.ReadFrom(buff)
|
_, addr, err := serv.ReadFrom(buff)
|
||||||
|
|
||||||
if err != nil {
|
checkError(err)
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
remoteAddr := strings.Split(addr.String(), ":")
|
remoteAddr := strings.Split(addr.String(), ":")
|
||||||
|
|
||||||
//remote, err := net.ResolveUDPAddr("udp4", remoteAddr[0] + ":8850")
|
|
||||||
log.Printf("Received data %s\n", remoteAddr)
|
log.Printf("Received data %s\n", remoteAddr)
|
||||||
|
|
||||||
if err != nil {
|
checkError(err)
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
con.SendData(b64Msg)
|
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)
|
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,
|
DstPort: 6767,
|
||||||
}
|
}
|
||||||
saprus := structs.SaprusHeaderFrame{
|
saprus := structs.SaprusHeaderFrame{
|
||||||
MagicNumber: 132,
|
PacketType: 10,
|
||||||
|
Length: uint16(len(data)),
|
||||||
Payload: []byte(data),
|
Payload: []byte(data),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user