mirror of
https://github.com/bettercap/bettercap
synced 2025-07-12 16:13:48 -07:00
misc: small fix or general refactoring i did not bother commenting
This commit is contained in:
parent
91d360327a
commit
51a5b4ad6e
17 changed files with 1375 additions and 239 deletions
69
modules/zerogod/zerogod_generic_handler.go
Normal file
69
modules/zerogod/zerogod_generic_handler.go
Normal file
|
@ -0,0 +1,69 @@
|
|||
package zerogod
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
)
|
||||
|
||||
func Dump(by []byte) string {
|
||||
s := ""
|
||||
n := len(by)
|
||||
rowcount := 0
|
||||
width := 16
|
||||
|
||||
stop := (n / width) * width
|
||||
k := 0
|
||||
for i := 0; i <= stop; i += width {
|
||||
k++
|
||||
if i+width < n {
|
||||
rowcount = width
|
||||
} else {
|
||||
rowcount = min(k*width, n) % width
|
||||
}
|
||||
|
||||
s += fmt.Sprintf("%02d ", i)
|
||||
for j := 0; j < rowcount; j++ {
|
||||
s += fmt.Sprintf("%02x ", by[i+j])
|
||||
}
|
||||
for j := rowcount; j < width; j++ {
|
||||
s += " "
|
||||
}
|
||||
s += fmt.Sprintf(" '%s'\n", viewString(by[i:(i+rowcount)]))
|
||||
}
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
func min(a, b int) int {
|
||||
if a < b {
|
||||
return a
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func viewString(b []byte) string {
|
||||
r := []rune(string(b))
|
||||
for i := range r {
|
||||
if r[i] < 32 || r[i] > 126 {
|
||||
r[i] = '.'
|
||||
}
|
||||
}
|
||||
return string(r)
|
||||
}
|
||||
|
||||
func handleGenericTCP(mod *ZeroGod, client net.Conn, srvHost string, srvPort int, srvTLS bool) {
|
||||
defer client.Close()
|
||||
|
||||
buf := make([]byte, 1024)
|
||||
for {
|
||||
if read, err := client.Read(buf); err != nil {
|
||||
mod.Error("error while reading from %v: %v", client.RemoteAddr(), err)
|
||||
break
|
||||
} else if read == 0 {
|
||||
mod.Error("error while reading from %v: no data", client.RemoteAddr())
|
||||
break
|
||||
} else {
|
||||
mod.Info("read %d bytes from %v:\n%s\n", read, client.RemoteAddr(), Dump(buf[0:read]))
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue