REP är en "match modul" för Linux iptables som tillåter paket som skall matchas med hjälp av mycket flexibla regler, skrivna på ett enkelt ändamålsenliga skriptspråk. Den skrevs ursprungligen för att ge stöd till nästa fas av P2PWall projektet för att styra olika former av peer-to-peer-program trafik, men är mycket bredare än så i sin möjliga användningsområden. Se Grundläggande sida för en tutorial-stil översikt.
Match moduler iptables tillåter regler för att vidta åtgärder beroende på om paketen matchar vissa kriterier eller ej. Standarden fördelning av netfilter / iptables erbjuder en rad användbara moduler av denna typ. Dessa tillåter typiskt protokolltyper (TCP eller UDP), käll- och destinationsadresser och portar osv kontrolleras.
Det finns också ett antal intressanta "extras" än vad som kan sammanställas i kärnan att ge några utökade paket matchande funktioner. Ett sådant exempel är den "sträng" modul som gör paket som skall matchas på grundval av existensen (eller på annat sätt) av den specificerade strängar som helst i datanyttolastdelen hos paketen. Det finns ett antal andra dolda skatter som kan användas för att kraftigt utöka funktionerna i systemet.
För att kunna använda rep för att bygga en match regel måste du först skriva REP skriptlet som kodar dina match kriterier. Som ett exempel kan vi leta efter "Content-längd" huvudet på en HTTP-nedladdning och kontrollera att längden inte överstiger 1000000 byte med hjälp av följande skript ..
Detta skript har följande åtgärder för att få det att fungera:
1. Sökningar datanyttolast av paketet för strängen "Content-längd:", men ignorerar brev fallet den söker.
2. Om strängen inte hittas stannar skriptet och returnerar ett "inte matchas" status till Netfilter.
3. Om strängen hittas tar skriptet siffrorna som följer den, och lagrar dem som en sträng i registret $ n.
4. Strängen i $ n omvandlas till ett heltal och jämfördes mot antalet 1000000 Om $ n är stor än 1.000.000, kommer skriptet avslutas och returnerar ett "matchat" status till iptables.
5. Annars avslutas skriptet med ett "inte matchas" status.
Det språk som skript som detta skrivs är baserad på idén om ReversePolish notation men utvidgas för att hantera begreppet AnchorBrackets. Språket dokumenteras i detalj i LanguageReference.
Mjukvaruinformation:
Version: 20051223
Ladda upp dagen: 3 Jun 15
Licens: Gratis
Popularitet: 50
Kommentarer hittades inte