Write the packets to a capture file
Capture the packets and write them to a capture file.
Note: Pcap.dumpOpen(String) will override if the "savefile" already exists; If you need to add a captured packet to the existing "savefile" you can use Pcap.dumpOpenAppend(String) instead.
public static void main(String[] _args)
throws ErrorException, PermissionDeniedException, PromiscuousModePermissionDeniedException,
TimestampPrecisionNotSupportedException, RadioFrequencyModeNotSupportedException,
NoSuchDeviceException, ActivatedException, InterfaceNotUpException,
InterfaceNotSupportTimestampTypeException {
var service = Service.Creator.create("PcapService");
try (var pcap = service.live(service.interfaces(), new DefaultLiveOptions())) {
try (var dumper = pcap.dumpOpen("savefile.pcap")) {
try {
pcap.loop(
10,
(args, header, buffer) -> {
System.out.println("Args : " + args);
System.out.println("Header : " + header);
System.out.println("Packet : " + buffer);
dumper.dump(header, buffer);
},
"Hello pcap!");
} catch (BreakException e) {
System.err.println(e.getMessage());
} catch (ErrorException e) {
System.err.println(e.getMessage());
}
}
}
}
fun main() {
val service = Service.Creator.create("PcapService")
val pcap = service.live(service.interfaces(), DefaultLiveOptions())
val dumper = pcap.dumpOpen("savefile.pcap")
try {
pcap.loop(
10,
{ args: String, header: PacketHeader, buffer: PacketBuffer ->
println("Args : $args")
println("Header : $header")
println("Packet : $buffer")
dumper.dump(header, buffer)
},
"Hello pcap!"
)
} catch (e: BreakException) {
System.err.println(e.message)
} catch (e: ErrorException) {
System.err.println(e.message)
}
dumper.close()
pcap.close()
}
def main(_args: Array[String]): Unit = {
val service = Service.Creator.create("PcapService")
val pcap = service.live(service.interfaces(), new DefaultLiveOptions())
val dumper = pcap.dumpOpen("savefile.pcap");
try pcap.loop(10, (args: String, header: PacketHeader, buffer: PacketBuffer) => {
println("Args : ", args)
println("Header : ", header)
println("Packet : ", buffer)
dumper.dump(header, buffer)
}, "Hello pcap!")
catch {
case e: BreakException =>
System.err.println(e.getMessage)
case e: ErrorException =>
System.err.println(e.getMessage)
}
dumper.close()
pcap.close()
}
Last updated