package com.ardikars.test.jxnet;
import java.nio.ByteBuffer;
import com.ardikars.jxnet.BpfProgram;
import com.ardikars.jxnet.Jxnet;
import com.ardikars.jxnet.Pcap;
import com.ardikars.jxnet.PcapHandler;
import com.ardikars.jxnet.PcapPktHdr;
import com.ardikars.jxnet.PcapStat;
public class FilteringTheTraffic {
public static void main(String[] args) {
StringBuilder errbuf = new StringBuilder();
String source = Jxnet.PcapLookupdev(errbuf);
BpfProgram fp = new BpfProgram();
String filter = "ip";
int netmask = 0xffffff;
PcapStat stat = new PcapStat();
if(source == null) {
System.err.println(errbuf.toString());
return;
}
Pcap pcap = Jxnet.PcapOpenLive(source, 65535, 1, 2000, errbuf);
if(pcap == null) {
System.err.println(errbuf.toString());
return;
}
if(Jxnet.PcapDatalink(pcap)!= 1) {
System.out.println(source + " is not an Ethernet");
Jxnet.PcapClose(pcap);
return;
}
if(Jxnet.PcapCompile(pcap, fp, filter, 1, netmask) != 0) {
System.err.println("Failed to compile bpf");
Jxnet.PcapClose(pcap);
return;
}
if(Jxnet.PcapSetFilter(pcap, fp) != 0) {
System.err.println("Failed to set filter");
Jxnet.PcapClose(pcap);
return;
}
PcapHandler callback = new PcapHandler() {
@Override
public void nextPacket(String u, PcapPktHdr h, ByteBuffer b) {
System.out.println(h);
System.out.println(b);
}
};
Jxnet.PcapLoop(pcap, 10, callback, null);
if(Jxnet.PcapStat(pcap, stat) !=0 ) {
System.out.println(Jxnet.PcapGetErr(pcap));
} else {
System.out.println("Number of packets received = " + stat.getPsRecv());
System.out.println("Number of packets dropped = " + stat.getPsDrop());
System.out.println("Drops by interface = " + stat.getPsIfdrop());
}
Jxnet.PcapClose(pcap);
}
}
Server yang akan dijadikan repository bisa Ubuntu/Debian/Raspbian/dll Install wget # apt-get install wget Install Apache2 # apt-get install apache2 Download packages # wget -r --no-parent --reject "index.html*" http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/ # mv downloads.openwrt.org/ /var/www # chown -Rf www-data:www-data /var/www/downloads.openwrt.org # chmod -Rf a+rwx /var/www/downloads.openwrt.org # /etc/init.d/apache2 restart Menggunakan repository OpenWrt yang telah dibuat. # vi /etc/opkg.conf Ganti downloads.openwrt.org dengan IP Server yang dijadikan repository tadi. Catatan: Untuk versi lain (Chaos Calmer atau yang lainnya) tinggal disesuaikan saja.
Comments
Post a Comment