network_search 0.1.0

the tools which is useful for searching networks
pub mod portscan{
    use pnet::packet::tcp::{ipv4_checksum, MutableTcpPacket};

    use std::net::Ipv4Addr;

    use crate::tcp::tcp::send_recv_packet;
    use crate::tcp::tcp::make_tcp_packet;

    use crate::util::util::get_local_ip;

    pub fn portscan(dst_addr:Ipv4Addr)->Vec<u16>{
        let mut ports: Vec<u16> = Vec::new();

        for port in 1..1024 {
            let local_port = 32168;
            let remote_port = port;

            let (src_addr,interface)= get_local_ip().unwrap();

            let mut tcp_packet:[u8; 48] = [0; 48];
            let mut tcp = MutableTcpPacket::new(&mut tcp_packet).unwrap();
            make_tcp_packet(&mut tcp);

            tcp.set_source(local_port);
            tcp.set_destination(remote_port);

            tcp.set_checksum(ipv4_checksum(&tcp.to_immutable(), &src_addr, &dst_addr));

            let result = send_recv_packet(&mut tcp,dst_addr,interface);

            if result {
                ports.push(port);
            }

        }

        return ports;
    }
}