ROPE er en "kamp modul" for Linux iptables som gjør at pakker blir matchet ved hjelp av svært fleksible regler, skrevet i et enkelt hensiktsmessig utformet skriptspråk. Den ble skrevet i første omgang å gi støtte for neste fase av P2PWall prosjekt for å styre ulike stiler av peer-to-peer program trafikk, men er mye bredere enn dette i det mulige bruksområder. Se det grunnleggende side for en oversikt tutorial-stil.
Kampen moduler av iptables tillate regler for å utføre handlinger avhengig av om pakkene matche visse kriterier eller ikke. Standarden distribusjon av netfilter / iptables gir en rekke nyttige moduler av denne typen. Disse tillater vanligvis protokolltyper (TCP eller UDP), kilden og målet adresser og porter osv som skal kontrolleres.
Det er også et sett med interessante "ekstra" enn det som kan kompilert inn i kjernen til å gi noen utvidede pakke matchende funksjoner. Ett slikt eksempel er "streng" modul som tillater pakker som skal tilpasses på grunnlag av eksistensen (eller annet) i angitte trenger steder i datanyttelastdelen av pakkene. Det finnes en rekke andre skjulte skatter som kan brukes til å betydelig utvide funksjonene i systemet.
For å kunne bruke tau til å bygge en kamp regel, må du først skrive ROPE skriptlet som kodes kamp kriterier. Som et eksempel kan vi se etter "Content-lengde" header av en HTTP-nedlasting og sjekke at lengden ikke overstiger 1000000 bytes ved hjelp av følgende script ..
Dette skriptet har følgende tiltak for å gjøre det arbeidet:
1. Søker på data nyttelast av pakken for strengen "Content-Length:", men ignorerer brev sak som det søker.
2. Hvis strengen ikke blir funnet, stopper scriptet og returnerer en "ikke passet" status til netfilter.
3. Hvis strengen er funnet, tar manuset sifrene som følger den, og lagrer dem som en streng i registeret $ n.
4. Strengen i $ n omdannes til et helt tall, og sammenlignet mot antall 1000000. Hvis $ n er stor enn 1.000.000 deretter skriptet avsluttes og returnerer et "matchet" status til iptables.
5. Ellers avslutter script med en "ikke passet" status.
Språket som skript som dette er skrevet er basert på ideen om ReversePolish notasjon, men utvides til å håndtere begrepet AnchorBrackets. Språket er dokumentert i detalj i LanguageReference.
Prog.varedetaljer:
Versjon: 20051223
Last opp dato: 3 Jun 15
Lisens: Gratis
Popularitet: 50
Kommentarer ikke funnet