mirror of
https://github.com/bettercap/bettercap
synced 2025-08-20 21:43:18 -07:00
Merge pull request #601 from yungtravla/master
add boolean for dumping HTTP bodies in hex format
This commit is contained in:
commit
33797b120e
2 changed files with 26 additions and 6 deletions
|
@ -36,6 +36,7 @@ type EventsStream struct {
|
||||||
quit chan bool
|
quit chan bool
|
||||||
dumpHttpReqs bool
|
dumpHttpReqs bool
|
||||||
dumpHttpResp bool
|
dumpHttpResp bool
|
||||||
|
dumpFormatHex bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewEventsStream(s *session.Session) *EventsStream {
|
func NewEventsStream(s *session.Session) *EventsStream {
|
||||||
|
@ -214,6 +215,10 @@ func NewEventsStream(s *session.Session) *EventsStream {
|
||||||
"false",
|
"false",
|
||||||
"If true all HTTP responses will be dumped."))
|
"If true all HTTP responses will be dumped."))
|
||||||
|
|
||||||
|
mod.AddParam(session.NewBoolParameter("events.stream.http.format.hex",
|
||||||
|
"true",
|
||||||
|
"If true dumped HTTP bodies will be in hexadecimal format."))
|
||||||
|
|
||||||
return mod
|
return mod
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +263,8 @@ func (mod *EventsStream) Configure() (err error) {
|
||||||
return err
|
return err
|
||||||
} else if err, mod.dumpHttpResp = mod.BoolParam("events.stream.http.response.dump"); err != nil {
|
} else if err, mod.dumpHttpResp = mod.BoolParam("events.stream.http.response.dump"); err != nil {
|
||||||
return err
|
return err
|
||||||
|
} else if err, mod.dumpFormatHex = mod.BoolParam("events.stream.http.format.hex"); err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -89,12 +89,21 @@ func (mod *EventsStream) dumpGZIP(body []byte) string {
|
||||||
buffer := bytes.NewBuffer(body)
|
buffer := bytes.NewBuffer(body)
|
||||||
uncompressed := bytes.Buffer{}
|
uncompressed := bytes.Buffer{}
|
||||||
reader, err := gzip.NewReader(buffer)
|
reader, err := gzip.NewReader(buffer)
|
||||||
if err != nil {
|
if mod.dumpFormatHex {
|
||||||
return mod.dumpRaw(body)
|
if err != nil {
|
||||||
} else if _, err = uncompressed.ReadFrom(reader); err != nil {
|
return mod.dumpRaw(body)
|
||||||
return mod.dumpRaw(body)
|
} else if _, err = uncompressed.ReadFrom(reader); err != nil {
|
||||||
|
return mod.dumpRaw(body)
|
||||||
|
}
|
||||||
|
return mod.dumpRaw(uncompressed.Bytes())
|
||||||
|
} else {
|
||||||
|
if err != nil {
|
||||||
|
return mod.dumpText(body)
|
||||||
|
} else if _, err = uncompressed.ReadFrom(reader); err != nil {
|
||||||
|
return mod.dumpText(body)
|
||||||
|
}
|
||||||
|
return mod.dumpText(uncompressed.Bytes())
|
||||||
}
|
}
|
||||||
return mod.dumpRaw(uncompressed.Bytes())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (mod *EventsStream) dumpJSON(body []byte) string {
|
func (mod *EventsStream) dumpJSON(body []byte) string {
|
||||||
|
@ -149,7 +158,11 @@ func (mod *EventsStream) viewHttpRequest(e session.Event) {
|
||||||
} else if req.IsType("application/json") {
|
} else if req.IsType("application/json") {
|
||||||
dump += mod.dumpJSON(req.Body)
|
dump += mod.dumpJSON(req.Body)
|
||||||
} else {
|
} else {
|
||||||
dump += mod.dumpRaw(req.Body)
|
if mod.dumpFormatHex {
|
||||||
|
dump += mod.dumpRaw(req.Body)
|
||||||
|
} else {
|
||||||
|
dump += mod.dumpText(req.Body)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue