0
gopacket/layers api를 사용하여 패킷의 업데이트 데이터를 추출한 다음 다른 UDP 스트림을 통해 다시 전송합니다. 올바른지 또는하지 않는지 확실하지 않습니다. 사람이 직접 데이터를 표현하지 않는 큰 내 코드Golang gopacket udpLayer를 바이트로 변환하고 보내기
conn, err := net.Dial("udp", 1.1.1.1)
udp, _ := updpLayer.(*layers.UDP)
/*now if i send it like this*/
conn.Write(udp)
/*i get the errors: cannot use udp (type *layers.UDP) as type []byte in argument to conn.Write*/
/*I tried to convert to bytes using unsafe*/
con := *(*[unsafe.Sizeof(udp)]byte)(unsafe.Pointer(&udp))
/* I get cannot use conv (type [8]byte) as type []byte in argument to conn.Write */
/* I used ecoding/gob, but is it sending it as a byte stream?*/
encoder := gob.NewEncoder(conn)
encoder.Encode(udp) //or Encode(udp)
어떤 오류가 있습니까? –
[콘텐츠 및 페이로드 필드] (https://godoc.org/github.com/google/gopacket/layers#BaseLayer)를 보았습니까? – Peter
@Peter ya 나는 그것이 내가 원했던 것을 정확하게 나에게 주었다. – octain