From be335a43469168512fe5fe744e4ac88c5d5ab2de Mon Sep 17 00:00:00 2001 From: sad Date: Sun, 6 Oct 2024 17:13:23 +0000 Subject: [PATCH] first commit --- .gitignore | 1 + Cargo.toml | 8 ++ README.md | 3 + docs/demo.png | Bin 0 -> 119818 bytes src/main.rs | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 215 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 docs/demo.png create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..7e9792a --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "blackwall" +version = "0.1.0" +edition = "2021" + +[dependencies] +pnet = "0.35.0" +colored = "2.1.0" diff --git a/README.md b/README.md new file mode 100644 index 0000000..525b789 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# BlackWall +A WIP next gen firewall for Linux. +![blackwall demo](/docs/demo.png) diff --git a/docs/demo.png b/docs/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae0adf4abef5dbcb2e9ae4ea9ada6f24985c9d0 GIT binary patch literal 119818 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

>Y3lknqxa6 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%0AFHA(^Gg85K?5pt-cPcRZU9tv{AppoeY5Ys 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 Result<(), Box> { + let interfaces = datalink::interfaces(); + let open_ports = get_open_ports()?; + + for interface in interfaces { + println!("{}", format!("Interface: {}", interface.name).green().bold()); + + let mut interface_ports: HashSet = HashSet::new(); + + for ip in &interface.ips { + println!(" {}", format!("IP: {}", ip).cyan()); + + if let Some(ports) = open_ports.get(&ip.ip()) { + interface_ports.extend(ports.iter().cloned()); + } + } + + if !interface_ports.is_empty() { + println!(" {}", "Open ports:".yellow()); + for port in interface_ports { + let port_type_color = if port.port_type == PortType::TCP { "TCP".blue() } else { "UDP".magenta() }; + let conn_type_color = match port.connection_type { + ConnectionType::Server => "Server".green(), + ConnectionType::Client => "Client".yellow(), + ConnectionType::Unknown => "Unknown".red(), + }; + println!(" {} ({}) - {} - {} ({})", + port.number.to_string().white().bold(), + port_type_color, + port.process_name.cyan(), + conn_type_color, + port.state.white()); + } + } else { + println!(" {}", "No open ports found".red()); + } + + println!(); + } + + Ok(()) +} + +fn get_open_ports() -> Result>, Box> { + let mut inode_to_pid = HashMap::new(); + let mut open_ports = HashMap::new(); + + // Map inodes to PIDs + for entry in read_dir("/proc")? { + let entry = entry?; + let path = entry.path(); + if path.is_dir() { + if let Some(pid) = path.file_name().and_then(|n| n.to_str()).and_then(|s| s.parse::().ok()) { + let fd_dir = path.join("fd"); + if fd_dir.is_dir() { + for fd_entry in read_dir(fd_dir)? { + let fd_entry = fd_entry?; + let fd_path = fd_entry.path(); + if let Ok(target) = std::fs::read_link(&fd_path) { + let target_str = target.to_string_lossy(); + if target_str.starts_with("socket:[") { + let inode = target_str.trim_start_matches("socket:[").trim_end_matches(']'); + inode_to_pid.insert(inode.to_string(), pid); + } + } + } + } + } + } + } + + // Parse TCP and UDP connections + parse_connections("/proc/net/tcp", &mut open_ports, &inode_to_pid, PortType::TCP, false)?; + parse_connections("/proc/net/tcp6", &mut open_ports, &inode_to_pid, PortType::TCP, true)?; + parse_connections("/proc/net/udp", &mut open_ports, &inode_to_pid, PortType::UDP, false)?; + parse_connections("/proc/net/udp6", &mut open_ports, &inode_to_pid, PortType::UDP, true)?; + + Ok(open_ports) +} + +fn parse_connections( + file_path: &str, + open_ports: &mut HashMap>, + inode_to_pid: &HashMap, + port_type: PortType, + is_ipv6: bool +) -> Result<(), Box> { + let file = File::open(file_path)?; + let reader = BufReader::new(file); + + for line in reader.lines().skip(1) { + let line = line?; + let parts: Vec<&str> = line.split_whitespace().collect(); + if parts.len() >= 10 { + let local_address = parts[1]; + let remote_address = parts[2]; + let state_hex = parts[3]; + let inode = parts[9]; + let address_parts: Vec<&str> = local_address.split(':').collect(); + if address_parts.len() == 2 { + let ip = if is_ipv6 { + IpAddr::V6(parse_ipv6(address_parts[0])?) + } else { + IpAddr::V4(parse_ipv4(address_parts[0])?) + }; + let port = u16::from_str_radix(address_parts[1], 16)?; + let process_name = get_process_name(inode_to_pid.get(inode))?; + let (connection_type, state) = determine_connection_type(&port_type, state_hex, remote_address); + let port_info = PortInfo { + number: port, + port_type: port_type.clone(), + process_name, + connection_type, + state, + }; + open_ports.entry(ip).or_insert_with(HashSet::new).insert(port_info); + } + } + } + Ok(()) +} + +fn determine_connection_type(port_type: &PortType, state_hex: &str, remote_address: &str) -> (ConnectionType, String) { + let state = u8::from_str_radix(state_hex, 16).unwrap_or(0); + match port_type { + PortType::TCP => match state { + 1 => (ConnectionType::Client, "ESTABLISHED".to_string()), + 2 => (ConnectionType::Client, "SYN_SENT".to_string()), + 3 => (ConnectionType::Server, "SYN_RECV".to_string()), + 4 => (ConnectionType::Server, "FIN_WAIT1".to_string()), + 5 => (ConnectionType::Server, "FIN_WAIT2".to_string()), + 6 => (ConnectionType::Client, "TIME_WAIT".to_string()), + 7 => (ConnectionType::Server, "CLOSE".to_string()), + 8 => (ConnectionType::Server, "CLOSE_WAIT".to_string()), + 9 => (ConnectionType::Client, "LAST_ACK".to_string()), + 10 => (ConnectionType::Server, "LISTEN".to_string()), + 11 => (ConnectionType::Server, "CLOSING".to_string()), + _ => (ConnectionType::Unknown, format!("UNKNOWN ({})", state)), + }, + PortType::UDP => { + if remote_address == "00000000:0000" { + (ConnectionType::Server, "UNCONN".to_string()) + } else { + (ConnectionType::Client, "ESTABLISHED".to_string()) + } + }, + } +} + +fn get_process_name(pid: Option<&u32>) -> Result> { + match pid { + Some(&pid) => { + let comm_path = Path::new("/proc").join(pid.to_string()).join("comm"); + let mut name = std::fs::read_to_string(comm_path)?; + name.truncate(name.trim_end().len()); + Ok(name) + }, + None => Ok("Unknown".to_string()), + } +} + +fn parse_ipv4(hex: &str) -> Result> { + let addr = u32::from_str_radix(hex, 16)?; + Ok(Ipv4Addr::from(addr.to_be())) +} + +fn parse_ipv6(hex: &str) -> Result> { + let mut groups = [0u16; 8]; + for (i, chunk) in hex.as_bytes().chunks(4).enumerate() { + groups[i] = u16::from_str_radix(std::str::from_utf8(chunk)?, 16)?; + } + Ok(Ipv6Addr::from(groups)) +}