Skip to content

Commit

Permalink
style: rustfmt
Browse files Browse the repository at this point in the history
  • Loading branch information
SkuldNorniern committed Jul 10, 2024
1 parent 5635953 commit 795d099
Showing 1 changed file with 24 additions and 18 deletions.
42 changes: 24 additions & 18 deletions src/net/parser/keys.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use crate::net::NetError;
use pcap;

use pnet::packet::arp::ArpPacket;
use pnet::packet::dns::DnsPacket;

Check warning on line 10 in src/net/parser/keys.rs

View workflow job for this annotation

GitHub Actions / clippy

unused import: `pnet::packet::dns::DnsPacket`

warning: unused import: `pnet::packet::dns::DnsPacket` --> src/net/parser/keys.rs:10:5 | 10 | use pnet::packet::dns::DnsPacket; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
use pnet::packet::ethernet::{EtherTypes, EthernetPacket};
use pnet::packet::gre::GrePacket;
use pnet::packet::icmp::IcmpPacket;

Check warning on line 13 in src/net/parser/keys.rs

View workflow job for this annotation

GitHub Actions / clippy

unused import: `pnet::packet::icmp::IcmpPacket`

warning: unused import: `pnet::packet::icmp::IcmpPacket` --> src/net/parser/keys.rs:13:5 | 13 | use pnet::packet::icmp::IcmpPacket; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -15,16 +16,11 @@ use pnet::packet::ipv4::Ipv4Packet;
use pnet::packet::ipv6::Ipv6Packet;
use pnet::packet::tcp::TcpPacket;

Check warning on line 17 in src/net/parser/keys.rs

View workflow job for this annotation

GitHub Actions / clippy

unused import: `pnet::packet::tcp::TcpPacket`

warning: unused import: `pnet::packet::tcp::TcpPacket` --> src/net/parser/keys.rs:17:5 | 17 | use pnet::packet::tcp::TcpPacket; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
use pnet::packet::udp::UdpPacket;
use pnet::packet::dns::DnsPacket;
use pnet::packet::vlan::VlanPacket;
use pnet::packet::Packet;

use log::trace;





const VXLAN_HEADER: [u8; 8] = [0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00];

fn decapsulate_vxlan(payload: &[u8]) -> Option<Vec<u8>> {
Expand Down Expand Up @@ -94,23 +90,32 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {
return Err(NetError::EmptyPacket);
}

UdpPacket::new(i.unwrap().payload()).unwrap().payload().to_vec()
UdpPacket::new(i.unwrap().payload())
.unwrap()
.payload()
.to_vec()
}
EtherTypes::Ipv4 => {
let i = Ipv4Packet::new(ethernet_packet_unpack.payload());
if i.is_none() {
return Err(NetError::EmptyPacket);
}

UdpPacket::new(i.unwrap().payload()).unwrap().payload().to_vec()
UdpPacket::new(i.unwrap().payload())
.unwrap()
.payload()
.to_vec()
}
EtherTypes::Arp => {
let i = ArpPacket::new(ethernet_packet_unpack.payload());
if i.is_none() {
return Err(NetError::EmptyPacket);
}

UdpPacket::new(i.unwrap().payload()).unwrap().payload().to_vec()
UdpPacket::new(i.unwrap().payload())
.unwrap()
.payload()
.to_vec()
}
_ => Vec::new(),
};
Expand All @@ -123,7 +128,7 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {
//println!("UDP payload: {:?}", udp_payload);
decapsulated_data = decapsulate_vxlan(&udp_payload);
}

let ethernet_packet_decapsulated = if let Some(data) = &decapsulated_data {
match EthernetPacket::new(data) {
None => return Err(NetError::EmptyPacket),
Expand All @@ -137,7 +142,7 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {

let src_mac = MacAddress::new(ethernet_packet.get_source().into());
let dst_mac = MacAddress::new(ethernet_packet.get_destination().into());
trace!("ether type {:?}",ethernet_packet.get_ethertype());
trace!("ether type {:?}", ethernet_packet.get_ethertype());
let (src_ip, dst_ip, src_port, dst_port, protocol) = match ethernet_packet.get_ethertype() {
EtherTypes::Ipv6 => {
let i = Ipv6Packet::new(ethernet_packet.payload());
Expand All @@ -162,7 +167,7 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {
EtherTypes::Arp => {
let i = ArpPacket::new(ethernet_packet.payload());
if i.is_none() {
return Err(NetError::EmptyPacket);
return Err(NetError::EmptyPacket);
}

trace!("ARP packet detected");
Expand Down Expand Up @@ -202,11 +207,9 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {
trace!("parse_test_arp: {:?}", parse_test_arp);
trace!("parse_test_vlan: {:?}", parse_test_vlan);


return Err(NetError::UnknownEtherType(
ethernet_packet.get_ethertype().to_string(),
))

));
}
};
trace!("Parsed keys");
Expand Down Expand Up @@ -239,7 +242,6 @@ pub fn parse_keys(packet: pcap::Packet) -> Result<(Key, Key), NetError> {
Ok((key_value, key_reverse_value))
}


fn arp_keys(packet: ArpPacket) -> Result<(IpAddr, IpAddr, u16, u16, u8), NetError> {
let src_ip = packet.get_sender_proto_addr();
let dst_ip = packet.get_target_proto_addr();
Expand Down Expand Up @@ -319,13 +321,17 @@ fn vlan_keys(packet: VlanPacket) -> Result<(IpAddr, IpAddr, u16, u16, u8), NetEr
let inner_packet = EthernetPacket::new(packet.payload()).ok_or(NetError::InvalidPacket)?;
match inner_packet.get_ethertype() {
EtherTypes::Ipv4 => {
let ipv4_packet = Ipv4Packet::new(inner_packet.payload()).ok_or(NetError::InvalidPacket)?;
let ipv4_packet =
Ipv4Packet::new(inner_packet.payload()).ok_or(NetError::InvalidPacket)?;
ipv4_keys(ipv4_packet)
}
EtherTypes::Ipv6 => {
let ipv6_packet = Ipv6Packet::new(inner_packet.payload()).ok_or(NetError::InvalidPacket)?;
let ipv6_packet =
Ipv6Packet::new(inner_packet.payload()).ok_or(NetError::InvalidPacket)?;
ipv6_keys(ipv6_packet)
}
_ => Err(NetError::UnknownEtherType(inner_packet.get_ethertype().to_string())),
_ => Err(NetError::UnknownEtherType(
inner_packet.get_ethertype().to_string(),
)),
}
}

0 comments on commit 795d099

Please sign in to comment.