Fred Klassen 661da7d41e Import upstream version 4.4.0 2 年 前
..
LICENSE 25da238943 Import upstream version 4.2.4 7 年 前
Makefile.am 6098e4c6ee Import upstream version 4.3.1 5 年 前
Makefile.in 661da7d41e Import upstream version 4.4.0 2 年 前
README 25da238943 Import upstream version 4.2.4 7 年 前
argv.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
argv.h 6098e4c6ee Import upstream version 4.3.1 5 年 前
bget.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
bget.h 6098e4c6ee Import upstream version 4.3.1 5 年 前
fragroute.c 661da7d41e Import upstream version 4.4.0 2 年 前
fragroute.h 661da7d41e Import upstream version 4.4.0 2 年 前
iputil.c 25da238943 Import upstream version 4.2.4 7 年 前
iputil.h 6dd271a201 Import upstream version 3.4.3 15 年 前
mod.c e275e34f9b Import upstream version 4.3.3 3 年 前
mod.h 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_delay.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_drop.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_dup.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_echo.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip6_opt.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip6_qos.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip_chaff.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip_frag.c e275e34f9b Import upstream version 4.3.3 3 年 前
mod_ip_opt.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip_tos.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_ip_ttl.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_order.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_print.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_tcp_chaff.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_tcp_opt.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
mod_tcp_seg.c e275e34f9b Import upstream version 4.3.3 3 年 前
pkt.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
pkt.h e275e34f9b Import upstream version 4.3.3 3 年 前
randutil.c 6098e4c6ee Import upstream version 4.3.1 5 年 前
randutil.h 6098e4c6ee Import upstream version 4.3.1 5 年 前

README

This code is heavily based on, even stolen from Dug Song's excellent fragroute
utility. I've taken a perfectly good application and converted it into a
packet editing library for my own needs. Any bugs are my fault. Any praises
really should go to Dug.

Please consider all files here under the original fragroute LICENSE, with the
added caveat that any changes are:

Copyright 2008-2010, Aaron Turner
Copyright 2013, Fred Klassen - AppNeta

Notes:
Fragroute runs as a daemon which intercepts packets by modifying the host
operating systems routing table, redirecting packets destined to the target
IP over the loopback interface. Packets reaching the loopback interface
are then read using libpcap/BPF filter processed according to the fragroute
rule set and then resent out the configured interface.

libfragroute works differently. First, we do away with any changes to the
host routing table. Secondly, packets are not sent out any interface, but
are read back by the caller. The API should look something like this:

ctx = fragroute_init(mtu, ); // init library

// process a packet
fragroute_process(ctx, char *pktbuff, int pktsize)

// read resulting fragments
while ((ret = fragroute_read(ctx, char **fragment)) > 0) {
// do something with fragment
} else {
// no more fragments
}