1use endpointsecurity_rs::{EsAddressType, EsClient, EsEventData, EsEventType};
2
3fn main() {
4 let mut client = EsClient::new().unwrap();
5 client
6 .add_event(EsEventType::NotifyOpenSSHLogin)
7 .subscribe();
8
9 loop {
10 let msg = client.rx.recv().unwrap();
11 if let Some(ref data) = msg.event_data {
12 match data {
13 EsEventData::NotifyOpenSSHLogin(ssh_deets) => {
14 let addr = match &ssh_deets.source_address {
15 EsAddressType::None => panic!("Sadge"),
16 EsAddressType::Ipv4(addr) => addr.to_string(),
17 EsAddressType::Ipv6(addr) => addr.to_string(),
18 EsAddressType::NamedSocket(addr) => addr.clone(),
19 };
20 println!(
21 "Someone from {} is trying to connect as {}",
22 addr, ssh_deets.username
23 );
24 }
25 _ => {}
26 }
27 }
28 }
29}