Add logging

This commit is contained in:
2024-08-24 18:01:55 +02:00
parent d7c8e9cde5
commit daa9bb04af
3 changed files with 54 additions and 2 deletions

View File

@@ -17,6 +17,12 @@ use dhcproto::{
},
};
use ipnetwork;
use log::{
debug,
log_enabled,
info,
Level,
};
use pnet;
use std::net::SocketAddrV6;
use tokio::net::UdpSocket;
@@ -35,6 +41,8 @@ struct Cli {
#[tokio::main]
async fn main() -> Result<()>{
env_logger::init();
let cli = Cli::parse();
let all_interfaces = pnet::datalink::interfaces();
@@ -60,6 +68,9 @@ async fn main() -> Result<()>{
let sock = UdpSocket::bind(socket_addr).await
.context("Unable to bind UDP socket")?;
info!("Listening on {}", sock.local_addr()
.context("Failed to fetch address socket bound to")?);
let remote_addr = SocketAddrV6::new(ALL_DHCP_RELAY_AGENTS_AND_SERVERS.parse().unwrap(), DHCP_RELAY_AGENT_AND_SERVER_PORT, 0, selected_interface.index.clone());
let mut msg = Message::new(MessageType::InformationRequest);
@@ -89,8 +100,10 @@ async fn main() -> Result<()>{
.context("Unable to parse DHCPv6 response message")?;
if recv_msg.xid() == msg.xid() {
println!("{:?} bytes received from {:?}", len, recv_addr);
println!("{}", &recv_buf[..len].escape_ascii().to_string());
info!("{:?} bytes received from {:?}", len, recv_addr);
if log_enabled!(Level::Debug) {
debug!("Received packet: {}", hex::encode(&recv_buf[..len]));
}
println!("{}", &recv_msg);
break;
}