📄 roofnet.click
字号:
rates :: AvailableRates(DEFAULT 2 4 11 22);elementclass srcr_ett { $srcr_ip, $srcr_nm, $wireless_mac, $gateway, $probes|arp :: ARPTable();lt :: LinkTable(IP $srcr_ip);gw :: GatewaySelector(ETHTYPE 0x092c, IP $srcr_ip, ETH $wireless_mac, LT lt, ARP arp, PERIOD 15, GW $gateway);gw -> SetSRChecksum -> [0] output;set_gw :: SetGateway(SEL gw);es :: ETTStat(ETHTYPE 0x0941, ETH $wireless_mac, IP $srcr_ip, PERIOD 30000, TAU 300000, ARP arp, PROBES $probes, ETT metric, RT rates);metric :: ETTMetric(LT lt);forwarder :: SRForwarder(ETHTYPE 0x0943, IP $srcr_ip, ETH $wireless_mac, ARP arp, LT lt);querier :: SRQuerier(ETH $wireless_mac, SR forwarder, LT lt, ROUTE_DAMPENING true, TIME_BEFORE_SWITCH 5, DEBUG true);tracker_forwarder :: MetricFlood(ETHTYPE 0x092e, IP $srcr_ip, ETH $wireless_mac, LT lt, ARP arp, DEBUG false);TimedSource(600, "") -> SetIPAddress(255.255.255.255)-> [1] tracker_forwarder-> SetSRChecksum -> [0] output;tracker_forwarder [1] -> Discard;query_forwarder :: MetricFlood(ETHTYPE 0x0944, IP $srcr_ip, ETH $wireless_mac, LT lt, ARP arp, DEBUG false);query_responder :: SRQueryResponder(ETHTYPE 0x0945, IP $srcr_ip, ETH $wireless_mac, LT lt, ARP arp, DEBUG true);query_responder -> SetSRChecksum -> [0] output;query_forwarder -> SetSRChecksum -> PrintSR(forwarding) -> [0] output;query_forwarder [1] -> query_responder;data_ck :: SetSRChecksum() input [1] -> SetTimestamp()-> counter_incoming :: IPAddressCounter(USE_DST true)-> host_cl :: IPClassifier(dst net $srcr_ip mask $srcr_nm, -)-> querier-> data_ck;host_cl [1] -> [0] set_gw [0] -> querier;forwarder[0] -> dt ::DecIPTTL -> data_ck -> [2] output;dt[1] -> Print(ttl-error) -> ICMPError($srcr_ip, timeexceeded, 0) -> querier;// queriesquerier [1] -> [1] query_forwarder;es -> SetTimestamp() -> [1] output;forwarder[1] //ip packets to me -> StripSRHeader() -> CheckIPHeader() -> from_gw_cl :: IPClassifier(src net $srcr_ip mask $srcr_nm, -) -> counter_outgoing :: IPAddressCounter(USE_SRC true) -> [3] output;from_gw_cl [1] -> [1] set_gw [1] -> [3] output; input [0] -> ncl :: Classifier( 12/0943 , //srcr_forwarder 12/0944 , //srcr 12/0945 , //replies 12/0941 , //srcr_es 12/092c , //srcr_gw 12/092e , //srcr_tracker ); ncl[0] -> CheckSRHeader() -> [0] forwarder; ncl[1] -> CheckSRHeader() -> PrintSR(query) -> query_forwarder ncl[2] -> CheckSRHeader() -> query_responder; ncl[3] -> es; ncl[4] -> CheckSRHeader() -> gw; ncl[5] -> CheckSRHeader() -> tracker :: FloodTracker()-> tracker_forwarder; }// has one input and one output// takes and spits out ip packetselementclass LinuxHost { $dev, $ip, $nm, $mac | input -> ToHost($dev); FromHost($dev, $ip/$nm, ETHER $mac) -> output;}// has one input and one output// takes and spits out ip packetselementclass LinuxIPHost { $dev, $ip, $nm | input -> KernelTun($ip/$nm, MTU 1500, DEV_NAME $dev) -> MarkIPHeader(0) -> CheckIPHeader() -> output;}elementclass SniffDevice { $device, $promisc| // we only want txf for NODS packets // ether[2:2] == 0x1200 means it has an ath_rx_radiotap header (it is 18 bytes long) // ether[2:2] == 0x1000 means it has an ath_tx_radiotap header (it is 16 bytes long) // ether[18] == 0x08 means NODS from_dev :: FromDevice($device, PROMISC $promisc) -> output; input -> to_dev :: ToDevice($device);}control :: ControlSocket("TCP", 7777);chatter :: ChatterSocket("TCP", 7778);sniff_dev :: SniffDevice(ath0raw, false);sched :: PrioSched()-> set_power :: SetTXPower(POWER 60)-> radiotap_encap :: RadiotapEncap()-> sniff_dev;route_q :: FullNoteQueue(10) -> [0] sched;data_q :: FullNoteQueue(10)-> data_static_rate :: SetTXRate(RATE 2)-> data_madwifi_rate :: MadwifiRate(OFFSET 4, ALT_RATE true, RT rates, ACTIVE true)-> data_arf_rate :: AutoRateFallback(OFFSET 4, STEPUP 25, RT rates, ACTIVE false)-> data_probe_rate :: ProbeTXRate(OFFSET 4, WINDOW 5000, RT rates, ACTIVE false)-> [1] sched;Idle -> [1] data_probe_rate;Idle -> [1] data_madwifi_rate;Idle -> [1] data_arf_rate;srcr :: srcr_ett(5.137.112.229, 255.0.0.0, 00:09:5B:89:70:E5, false, "2 60 2 1500 4 1500 11 1500 22 1500");// make sure this is listed first so it gets tap0srcr_host :: LinuxIPHost(srcr, 5.137.112.229, 255.0.0.0)-> [1] srcr;route_encap :: WifiEncap(0x0, 00:00:00:00:00:00)-> route_q;data_encap :: WifiEncap(0x0, 00:00:00:00:00:00)-> data_q;srcr [0] -> route_encap; // queries, repliessrcr [1] -> route_encap; // bcast_statssrcr [2] -> data_encap; // datasrcr [3] -> srcr_host; // data to mesniff_dev -> prism2_decap :: Prism2Decap()-> phyerr_filter :: FilterPhyErr()-> extra_decap :: ExtraDecap()-> radiotap_decap :: RadiotapDecap()//-> PrintWifi(fromdev)-> beacon_cl :: Classifier(0/80, //beacons -)-> bs :: BeaconScanner(RT rates)-> Discard;beacon_cl [1]-> Classifier(0/08%0c) //data-> tx_filter :: FilterTX()-> dupe :: WifiDupeFilter() -> WifiDecap()-> HostEtherFilter(00:09:5B:89:70:E5, DROP_OTHER true, DROP_OWN true) -> rxstats :: RXStats()-> ncl :: Classifier( 12/09??, -);ncl [0] -> srcr;ncl[1] -> Discard;tx_filter [1] //-> PrintWifi(txf)-> txf_t2 :: Tee(3);txf_t2 [0] -> [1] data_arf_rate;txf_t2 [1] -> [1] data_madwifi_rate;txf_t2 [2] -> [1] data_probe_rate;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -