CentOS で Winny/Share の検知

Ξ 8月 22nd, 2011 | → 0 Comments | ∇ Linux, コンピュータ, ソフトウェア |

CentOS で Winny/Share の検知をできないか、2日ほどいじくってました。

Vyatta で P2P 帯域制御装置を作ろう
のパッチソースを元にカーネルソース解析してましたが、ベースとなる、ipp2p が結構古いようで(というか放置状態?)、派生バージョンもチョコチョコ。
0.8.2-pomng をベースにしているようでした。

l7-filterも併用したかったので、ソースをチョコチョコ調整。何とか動きました。QoSとかFirewallとかで使えそうです。
今回、physdev を使っているので、bridge環境下で使えます。うーん、理想的。

●こんな感じで、捕獲できました。
Aug 22 02:00:39 xxxxxxxx kernel: QoS003-Winny : IN=br0 OUT=br0 PHYSIN=eth0 PHYSOUT=eth1 SRC=aaa.bbb.ccc.ddd DST=eee.fff.ggg.hhh LEN=40 TOS=0x00 PREC=0x00 TTL=51 ID=10026 DF PROTO=TCP SPT=aaaa DPT=aaaa WINDOW=16542 RES=0x00 ACK FIN URGP=0
Aug 22 02:00:39 xxxxxxxx kernel: QoS005-Share : IN=br0 OUT=br0 PHYSIN=eth0 PHYSOUT=eth1 SRC=aaa.bbb.ccc.ddd DST=eee.fff.ggg.hhh LEN=40 TOS=0x00 PREC=0x00 TTL=114 ID=39902 DF PROTO=TCP SPT=bbbb DPT=bbbb WINDOW=32768 RES=0x00 ACK FIN URGP=0

●iptablesはこんな感じ。(一部です)。
Chain FORWARD (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere PHYSDEV match --physdev-in eth0 ipp2p v0.8.2-pomng --winny limit: avg 10/min burst 30 LOG level debug prefix `QoS003-Winny : '
MARK all -- anywhere anywhere PHYSDEV match --physdev-in eth0 ipp2p v0.8.2-pomng --winny MARK set 0x3
ACCEPT all -- anywhere anywhere mark match 0x3

LOG all -- anywhere anywhere PHYSDEV match --physdev-in eth0 ipp2p v0.8.2-pomng --share limit: avg 10/min burst 30 LOG level debug prefix `QoS005-Share : '
MARK all -- anywhere anywhere PHYSDEV match --physdev-in eth0 ipp2p v0.8.2-pomng --share MARK set 0x5
ACCEPT all -- anywhere anywhere mark match 0x5

 

Leave a reply


*

About

    Place for about text

    The Munch theme is built with PS, brushes and patterns by milo IIIIVII.

    Open right sidebar.php in the theme folder to edit this message.
    Check my other themes too.

     

FlickR

    Solitude
    Solitude
    Solitude
    Solitude