[−][src]Crate extcap
This crate helps writing extcap plugins for Wireshark.
See Extcap: Developer Guide also.
Quick Example
use extcap::{Extcap, ExtcapListener, ExtcapResult, ExtcapWriter, IFace}; use pcap_file::{pcap::PcapHeader, DataLink, PcapWriter}; struct HelloDump {} impl ExtcapListener for HelloDump { fn capture_header(&mut self, extcap: &Extcap, ifc: &IFace) -> PcapHeader { PcapHeader { datalink: DataLink::USER10, ..Default::default() } } fn capture(&mut self, extcap: &Extcap, ifc: &IFace, mut pcap_writer: PcapWriter<ExtcapWriter>) -> ExtcapResult<()> { let pkt = b"Hello Extcap!"; pcap_writer.write(0, 0, pkt, pkt.len() as u32); Ok(()) } } fn main() -> Result<(), Box<dyn std::error::Error>> { let mut ex = Extcap::new("hellodump"); ex.add_interface(IFace::new("helloif")); ex.run(HelloDump {}); Ok(()) }
More examples can be found in the examples
directory
Structs
Control | Control representation |
ControlMsg | Control protocol message |
ControlVal | Control value representation |
Extcap | Exctcap representation |
ExtcapError | Extcap specific error |
IFace | Interface representation |
IfArg | Argument representation |
IfArgVal | Argument value representation |
Enums
ButtonRole | Button roles |
ControlCmd | Interface toolbar Control commands |
ControlType | Interface toolbar Control types |
ExtcapStep | Extcap steps |
ExtcapWriter | Possible writers for |
IfArgType | Extcap Argument types |
Traits
ExtcapListener | A trait for Extcap callbacks |
Type Definitions
CtrlPipes | Control pipes |
ExtcapResult | Extcap specific result |