Allow configuration of pcap output file
This commit is contained in:
parent
c99a76747c
commit
fa2dd5baec
|
@ -5,6 +5,7 @@ import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
public class PcapExporter {
|
public class PcapExporter {
|
||||||
|
|
||||||
|
@ -13,8 +14,15 @@ public class PcapExporter {
|
||||||
public PcapExporter() throws IOException {
|
public PcapExporter() throws IOException {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openPcap() throws IOException {
|
public void openPcap(File pcapFile) throws IOException {
|
||||||
out = new DataOutputStream(new FileOutputStream("radiolog-" + System.currentTimeMillis() + ".pcap"));
|
if ( out != null ) {
|
||||||
|
closePcap();
|
||||||
|
}
|
||||||
|
if ( pcapFile == null ) {
|
||||||
|
/* pcap file not specified, use default file name */
|
||||||
|
pcapFile = new File("radiolog-" + System.currentTimeMillis() + ".pcap");
|
||||||
|
}
|
||||||
|
out = new DataOutputStream(new FileOutputStream(pcapFile));
|
||||||
/* pcap header */
|
/* pcap header */
|
||||||
out.writeInt(0xa1b2c3d4);
|
out.writeInt(0xa1b2c3d4);
|
||||||
out.writeShort(0x0002);
|
out.writeShort(0x0002);
|
||||||
|
@ -24,15 +32,16 @@ public class PcapExporter {
|
||||||
out.writeInt(4096);
|
out.writeInt(4096);
|
||||||
out.writeInt(195); /* 195 for LINKTYPE_IEEE802_15_4 */
|
out.writeInt(195); /* 195 for LINKTYPE_IEEE802_15_4 */
|
||||||
out.flush();
|
out.flush();
|
||||||
System.out.println("Opened pcap file!");
|
System.out.println("Opened pcap file " + pcapFile);
|
||||||
}
|
}
|
||||||
public void closePcap() throws IOException {
|
public void closePcap() throws IOException {
|
||||||
out.close();
|
out.close();
|
||||||
|
out = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void exportPacketData(byte[] data) throws IOException {
|
public void exportPacketData(byte[] data) throws IOException {
|
||||||
if (out == null) {
|
if (out == null) {
|
||||||
openPcap();
|
openPcap(null);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
/* pcap packet header */
|
/* pcap packet header */
|
||||||
|
|
Loading…
Reference in a new issue