mirror of
https://github.com/bettercap/bettercap
synced 2025-08-22 22:34:22 -07:00
Merge d53b87810c
into e5f598b274
This commit is contained in:
commit
de7f5bfe7a
2 changed files with 23 additions and 18 deletions
|
@ -19,9 +19,7 @@ func (p *Prober) sendProbeUDP(from net.IP, from_hw net.HardwareAddr, ip net.IP)
|
||||||
wrote, _ := con.Write([]byte{0x00})
|
wrote, _ := con.Write([]byte{0x00})
|
||||||
|
|
||||||
if wrote > 0 {
|
if wrote > 0 {
|
||||||
p.Session.Queue.Stats.Lock()
|
p.Session.Queue.Stats.UpdateSent(uint64(wrote))
|
||||||
p.Session.Queue.Stats.Sent += uint64(wrote)
|
|
||||||
p.Session.Queue.Stats.Unlock()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,25 @@ type Stats struct {
|
||||||
Errors uint64
|
Errors uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s Stats) incrementErrors() {
|
||||||
|
s.Lock()
|
||||||
|
s.Errors++
|
||||||
|
s.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s Stats) UpdateSent(raw uint64) {
|
||||||
|
s.Lock()
|
||||||
|
s.Sent += raw
|
||||||
|
s.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s Stats) updateReceived(pktSize uint64) {
|
||||||
|
s.Lock()
|
||||||
|
s.PktReceived++
|
||||||
|
s.Received += pktSize
|
||||||
|
s.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
type PacketCallback func(pkt gopacket.Packet)
|
type PacketCallback func(pkt gopacket.Packet)
|
||||||
|
|
||||||
type Queue struct {
|
type Queue struct {
|
||||||
|
@ -148,16 +167,8 @@ func (q *Queue) worker() {
|
||||||
}
|
}
|
||||||
|
|
||||||
q.trackProtocols(pkt)
|
q.trackProtocols(pkt)
|
||||||
|
|
||||||
pktSize := uint64(len(pkt.Data()))
|
pktSize := uint64(len(pkt.Data()))
|
||||||
|
q.Stats.updateReceived(pktSize)
|
||||||
q.Stats.Lock()
|
|
||||||
|
|
||||||
q.Stats.PktReceived++
|
|
||||||
q.Stats.Received += pktSize
|
|
||||||
|
|
||||||
q.Stats.Unlock()
|
|
||||||
|
|
||||||
q.onPacketCallback(pkt)
|
q.onPacketCallback(pkt)
|
||||||
|
|
||||||
// decode eth and ipv4 layers
|
// decode eth and ipv4 layers
|
||||||
|
@ -200,14 +211,10 @@ func (q *Queue) Send(raw []byte) error {
|
||||||
defer q.writes.Done()
|
defer q.writes.Done()
|
||||||
|
|
||||||
if err := q.handle.WritePacketData(raw); err != nil {
|
if err := q.handle.WritePacketData(raw); err != nil {
|
||||||
q.Stats.Lock()
|
q.Stats.incrementErrors()
|
||||||
q.Stats.Errors++
|
|
||||||
q.Stats.Unlock()
|
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
q.Stats.Lock()
|
q.Stats.UpdateSent(uint64(len(raw)))
|
||||||
q.Stats.Sent += uint64(len(raw))
|
|
||||||
q.Stats.Unlock()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue