рдЕрдм рдЕрднреНрдпрд╛рд╕ рдореЗрдВ OpenDPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред Opendpi-1.2.0.tar.gz рдФрд░ opendpi-netfilter-рдЖрд╡рд░рдг-1.1.tar.gz рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдпреЗ рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ)ред рдпрджрд┐ рдЖрдк рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ opendpi-1.2.0.tar.gz рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ ((
./configure && make && make install
), OpenDPI_demo рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреАрдХ-рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦрд┐рд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
рдЖрдЗрдП iptables рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓ рд╣реЗрдбрд░ рдФрд░ iptables рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:
- рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ рдИрд╡реЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдкреНрд░рддреАрдХ: NF_CONNTRACK_EVENTS рд╕реНрдерд╛рди: -> рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд░реНрдерди -> рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк -> рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдврд╛рдВрдЪрд╛ (рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░) -> рдХреЛрд░ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди -> рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдорд░реНрдерди
- рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ рдиреЗрдЯрд▓рд┐рдВрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ netlink рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рддреАрдХ: NF_CT_NETLINK рд╕реНрдерд╛рди: -> рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд░реНрдерди -> рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк -> рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдврд╛рдВрдЪрд╛ (рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░) -> рдХреЛрд░ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди -> рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдорд░реНрдерди
рдЦреЛрд▓рдирд╛ opendpi-netfilter-рдЖрд╡рд░рдг-1.1.tar.gz рдФрд░ opendpi-netfilter-рдЖрд╡рд░рдг-1.1 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВред рдпрд╣рд╛рдВ opendpi-1.2.0.tar.gz рдЕрдирдкреИрдХ рдХрд░реЗрдВ ред рдпрд╛рдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ opendpi-netfilter-рдЖрд╡рд░рдг -11 рдореЗрдВ README , ipq _ * рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред рдлрд╝рд╛рдЗрд▓реЛрдВ, рдЖрд╡рд░рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ opendpi-1.2.0 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВред Opendpi-1.2.0 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдХреНрд░рдорд╢рдГ OpenDPI рд╕реНрд░реЛрддред рдиреАрдЪреЗ рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рд╡рд░реНрдгрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ:
$ рдПрд▓.рдПрд╕. opendpi-1.2.0.tar.gz opendpi-netfilter-рдЖрд╡рд░рдг-1.1.tar.gz $ tar -xzf opendpi-netfilter-рдЖрд╡рд░рдг-1.1.tar.gz $ cd opendpi-netfilter-рдЖрд╡рд░рдг-1.1 $ рдЯрд╛рд░ -xzf ../opendpi-1.2.0.tar.gz
рдЕрдм opendpi-1.2.0 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ:
$ cd opendpi-1.2.0
рдФрд░ рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВ:
$ рдкреИрдЪ -p0 <../ ipq_main.h.diff $ рдкреИрдЪ -p0 <../ ipq_protocols.h.diff
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ рдирд┐рд░реНрдпрд╛рдд OPENDPI_PATH = $ (pwd)
рдФрд░ рд░реИрдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдПрдВ:
$ cd ../wrapper
рдЕрдм рдХрд░реНрдиреЗрд▓ рд╕рдорд░реНрдерди рдХреЛ 2.6.35 рдкрд░ рдкреИрдЪ рдХрд░реЗрдВ (рдкреБрд░рд╛рдиреА рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЯреВрдЯ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛)ред рдкреИрдЪ рдХреЛ 2.6.34 рдФрд░ 2.6.35 рдореЗрдВ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдкреИрдЪ рдкрд╣рд▓реЗ рд╣реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдСрдлрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдзрд╛рдЧреЗ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреИрдЪ рдХреЛ opendpi-netfilter-рдЖрд╡рд░рдг-1.1 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрддрд░ рдкрд░ рд░рдЦреЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдкреИрдЪ-рд░рд┐рдВрдЧрдЯреЛрди <../../ opendpi-netfilter-рдЖрд╡рд░рдг-1.1_2.6.35_v2.patch
рдлрд┐рд░ рдЖрдкрдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ рдмрдирд╛ # рдореЙрдбреНрдпреВрд▓_рд╕реНрдерд╛рдкрдирд╛ рдХрд░реЗрдВ # cp ipt / libxt_opendpi.so / lib / xtables
рдЕрдм рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
# modprobe xt_opendpi
рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ:
# iptables -m opendpi --help
рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЖрдЬрд╝рдорд╛рдПрдВ:
# iptables-OUTPUT -m opendpi --http -j DROP # wget http://ya.ru/ --2010-11-12 20: 57: 41-- http://ya.ru/ 213.180.204.3:80 рд╕реЗ рдЬреБрдбрд╝рд╛ ... рдЬреБрдбрд╝рд╛ред HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЧрдпрд╛, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ ... ^ C
рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ:
- рдпрджрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрддреНрдкрдиреНрди / *ред H рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд░реНрдиреЗрд▓ рд╣реЗрдбрд░ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд░реНрдиреЗрд▓ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
make clean
рд╣реЛред - рдпрджрд┐ рдЖрдкрдХреЛ modprobe рдХреЗ рд╕рд╛рде рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ
FATAL: xt_opendpi (/lib/modules/2.6.34-gentoo-r12/extra/xt_opendpi.ko) рдбрд╛рд▓рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐: рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╕реНрдд
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ (рдКрдкрд░ рджреЗрдЦреЗрдВ)
- рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ
/opendpi/opendpi-netfilter-wrapper-1.1/wrapper/src/main.c:466: рддреНрд░реБрдЯрд┐: рдЕрдзреВрд░рд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛
рддрдм рдЖрдк рдПрдХ рдХрд░реНрдиреЗрд▓ 2.6.35 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
Gentoo рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
UPD: рд╕рдорд░реНрдерд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдШреЛрд╖рд┐рдд рд╕реВрдЪреА:
opendpi match options:
--ftp Match for FTP protocol packets.
--pop Match for Mail_POP protocol packets.
--smtp Match for Mail_SMTP protocol packets.
--imap Match for Mail_IMAP protocol packets.
--dns Match for DNS protocol packets.
--ipp Match for IPP protocol packets.
--http Match for HTTP protocol packets.
--mdns Match for MDNS protocol packets.
--ntp Match for NTP protocol packets.
--netbios Match for NETBIOS protocol packets.
--nfs Match for NFS protocol packets.
--ssdp Match for SSDP protocol packets.
--bgp Match for BGP protocol packets.
--snmp Match for SNMP protocol packets.
--xdmcp Match for XDMCP protocol packets.
--smb Match for SMB protocol packets.
--syslog Match for SYSLOG protocol packets.
--dhcp Match for DHCP protocol packets.
--postgres Match for PostgreSQL protocol packets.
--mysql Match for MySQL protocol packets.
--tds Match for TDS protocol packets.
--ddl Match for DirectDownloadLink protocol packets.
--i23v5 Match for I23V5 protocol packets.
--apple Match for AppleJuice protocol packets.
--directconnect Match for DirectConnect protocol packets.
--socrates Match for Socrates protocol packets.
--winmx Match for WinMX protocol packets.
--manolito Match for MANOLITO protocol packets.
--pando Match for PANDO protocol packets.
--filetopia Match for Filetopia protocol packets.
--iMESH Match for iMESH protocol packets.
--kontiki Match for Kontiki protocol packets.
--openft Match for OpenFT protocol packets.
--fasttrack Match for Kazaa/Fasttrack protocol packets.
--gnutella Match for Gnutella protocol packets.
--edonkey Match for eDonkey protocol packets.
--bittorrent Match for Bittorrent protocol packets.
--off Match for OFF protocol packets.
--avi Match for AVI protocol packets.
--flash Match for Flash protocol packets.
--ogg Match for OGG protocol packets.
--mpeg Match for MPEG protocol packets.
--quicktime Match for QuickTime protocol packets.
--realmedia Match for RealMedia protocol packets.
--windowsmedia Match for Windowsmedia protocol packets.
--mms Match for MMS protocol packets.
--xbox Match for XBOX protocol packets.
--qq Match for QQ protocol packets.
--move Match for MOVE protocol packets.
--rtsp Match for RTSP protocol packets.
--feidian Match for Feidian protocol packets.
--icecast Match for Icecast protocol packets.
--pplive Match for PPLive protocol packets.
--ppstream Match for PPStream protocol packets.
--zattoo Match for Zattoo protocol packets.
--shoutcast Match for SHOUTCast protocol packets.
--sopcast Match for SopCast protocol packets.
--tvants Match for TVAnts protocol packets.
--tvuplayer Match for TVUplayer protocol packets.
--veohtv Match for VeohTV protocol packets.
--qqlive Match for QQLive protocol packets.
--thunder Match for Thunder/Webthunder protocol packets.
--soulseek Match for Soulseek protocol packets.
--gadugadu Match for GaduGadu protocol packets.
--irc Match for IRC protocol packets.
--popo Match for Popo protocol packets.
--jabber Match for Jabber protocol packets.
--msn Match for MSN protocol packets.
--oscar Match for Oscar protocol packets.
--yahoo Match for Yahoo protocol packets.
--battlefield Match for Battlefield protocol packets.
--quake Match for Quake protocol packets.
--secondlife Match for Second Life protocol packets.
--steam Match for Steam protocol packets.
--hl2 Match for Halflife2 protocol packets.
--worldofwarcraft Match for World of Warcraft protocol packets.
--telnet Match for Telnet protocol packets.
--stun Match for STUN protocol packets.
--ipsec Match for IPSEC protocol packets.
--gre Match for GRE protocol packets.
--icmp Match for ICMP protocol packets.
--igmp Match for IGMP protocol packets.
--egp Match for EGP protocol packets.
--sctp Match for SCTP protocol packets.
--ospf Match for OSPF protocol packets.
--ipip Match for IP in IP protocol packets.
--rtp Match for RTP protocol packets.
--rdp Match for RDP protocol packets.
--vnc Match for VNC protocol packets.
--pcanywhere Match for PCAnywhere protocol packets.
--ssl Match for SSL protocol packets.
--ssh Match for SSH protocol packets.
--usenet Match for USENET protocol packets.
--mgcp Match for MGCP protocol packets.
--iax Match for IAX protocol packets.
--tftp Match for TFTP protocol packets.
--afp Match for AFP protocol packets.
--stealthnet Match for StealthNet protocol packets.
--aimini Match for Aimini protocol packets.
--sip Match for SIP protocol packets.
--truphone Match for Truphone protocol packets.