diff options
Diffstat (limited to 'src/os/linux.rs')
-rw-r--r-- | src/os/linux.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/os/linux.rs b/src/os/linux.rs index e863e4f..ada04fb 100644 --- a/src/os/linux.rs +++ b/src/os/linux.rs @@ -23,11 +23,14 @@ pub(crate) fn get_open_sockets() -> OpenSockets { } } - if let Ok(tcp) = ::procfs::net::tcp() { + if let Ok(mut tcp) = ::procfs::net::tcp() { + if let Ok(mut tcp6) = ::procfs::net::tcp6() { + tcp.append(&mut tcp6); + } for entry in tcp.into_iter() { let local_port = entry.local_address.port(); let local_ip = entry.local_address.ip(); - if let (Some(connection), Some(procname)) = ( + if let (connection, Some(procname)) = ( Connection::new(entry.remote_address, local_ip, local_port, Protocol::Tcp), inode_to_procname.get(&entry.inode), ) { @@ -37,11 +40,14 @@ pub(crate) fn get_open_sockets() -> OpenSockets { } } - if let Ok(udp) = ::procfs::net::udp() { + if let Ok(mut udp) = ::procfs::net::udp() { + if let Ok(mut udp6) = ::procfs::net::udp6() { + udp.append(&mut udp6); + } for entry in udp.into_iter() { let local_port = entry.local_address.port(); let local_ip = entry.local_address.ip(); - if let (Some(connection), Some(procname)) = ( + if let (connection, Some(procname)) = ( Connection::new(entry.remote_address, local_ip, local_port, Protocol::Udp), inode_to_procname.get(&entry.inode), ) { |