fix: save unsaved packets only if handshake is complete

This commit is contained in:
evilsocket 2019-02-06 14:07:58 +01:00
commit e9b93b8586
No known key found for this signature in database
GPG key ID: 1564D7F30393A456

View file

@ -220,11 +220,16 @@ func (w *WiFi) SaveHandshakesTo(fileName string, linkType layers.LinkType) error
for _, ap := range w.aps {
for _, station := range ap.Clients() {
station.Handshake.EachUnsavedPacket(func(pkt gopacket.Packet) {
err = writer.WritePacket(pkt.Metadata().CaptureInfo, pkt.Data())
})
if err != nil {
return err
if station.Handshake.Complete() {
err = nil
station.Handshake.EachUnsavedPacket(func(pkt gopacket.Packet) {
if err == nil {
err = writer.WritePacket(pkt.Metadata().CaptureInfo, pkt.Data())
}
})
if err != nil {
return err
}
}
}
}