美文网首页
听说 rust 抓包能提速1000倍。所以我就写了一个libpc

听说 rust 抓包能提速1000倍。所以我就写了一个libpc

作者: asmcos | 来源:发表于2022-04-11 15:28 被阅读0次

    libpcap 是和gopacket一样都是基于libpcap的C语言版本封装了一套接口函数。

    如何引用libpcap?

    仓库地址。
    https://crates.io/crates/libpcap

    在你的项目配置文件 Cargo.toml

    [dependencies]
    libpcap = '0.1.x'
    

    就可以了,如果还不会,你可以参考 https://crates.io/crates/nets。这个项目使用了libpcap。

    代码例子:

    mod lib;
    
    
    use libpcap;
    use std::slice;
    
    fn main (){
    
        println!("{}","Welcome to use nets");
    
        let dev = libpcap::lookup();    
    
        println!("{}",dev);
    
        let mut Packet = libpcap::open(dev.as_str());
    
        libpcap::setfilter(&mut Packet,"tcp port 80");
        while let data = libpcap::next_ex(&mut Packet){
            println!("Packet Length {:?}",Packet.head.len);
            println!("{:?}",Packet);
        }
    
        libpcap::close(&mut Packet); 
        
    }
    

    这样就可以很方便的抓包了。

    相关文章

      网友评论

          本文标题:听说 rust 抓包能提速1000倍。所以我就写了一个libpc

          本文链接:https://www.haomeiwen.com/subject/bwgisrtx.html