summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKelvin Zhang <zhangxp1998@gmail.com>2020-01-16 17:56:55 -0500
committerKelvin Zhang <zhangxp1998@gmail.com>2020-01-16 18:54:12 -0500
commit347a615824752bccf31b426503d9fba76df403ae (patch)
tree13556fed2f22ebd700d66d675a1214d582bed3e7
parentdd14b9a073d7d2d04539c99f8820ec318793efc6 (diff)
Fix VPN traffice not displayed bug
-rw-r--r--src/network/sniffer.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/network/sniffer.rs b/src/network/sniffer.rs
index 4426438..bd16cc4 100644
--- a/src/network/sniffer.rs
+++ b/src/network/sniffer.rs
@@ -95,7 +95,11 @@ impl Sniffer {
pub fn next(&mut self) -> Option<Segment> {
let bytes = self.network_frames.next().ok()?;
// See https://github.com/libpnet/libpnet/blob/master/examples/packetdump.rs
- let payload_offset = if self.network_interface.is_loopback() && cfg!(target_os = "macos") {
+ // VPN interfaces (such as utun0, utun1, etc) have POINT_TO_POINT bit set to 1
+ let payload_offset = if (self.network_interface.is_loopback()
+ || self.network_interface.is_point_to_point())
+ && cfg!(target_os = "macos")
+ {
// The pnet code for BPF loopback adds a zero'd out Ethernet header
14
} else {