From: "Peter V. Saveliev" <peet@altlinux.ru> To: ALT Linux sysadmin discuss <sysadmins@lists.altlinux.org>, sisyphus@lists.altlinux.org Subject: [Sysadmins] userspace tarpit Date: Tue, 27 Nov 2007 15:29:20 +0300 Message-ID: <200711271529.21626.peet@altlinux.ru> (raw) ... Накидал простейший пример использования cxnet в виде userspace tarpit. Использовать (сначала make install в cxnet): # iptables -I ... -j QUEUE # tarpit.py Ignore packet to a non-existent connexion from from 10.0.254.13:3689 (slot d281, not connected) Create connexion slot d9c3 for 10.0.254.13:1840 -> 192.168.0.1:22100 Send keep-alive for slot d9c3 Send keep-alive for slot d9c3 Send keep-alive for slot d9c3 Ignore packet to a non-existent connexion from from 10.0.254.13:4022 (slot 89e5, not connected) Send keep-alive for slot d9c3 ... Оно не демон, оно даже не оптимизировано и дебаг там всегда: это просто пример того, что можно делать. Нормальную версию в смысле демонизации и скорости на днях оформлю в виде модуля к connexion. Если кому интереснее -j NFQUEUE, расскажите мне протокол NETLINK_NETFILTER :)) Я пока не копался глубоко, а на поверхности внятной документации не лежит. (Сцылки на libnfnetilnk давать не стоит -- я его уже читал :) Всё это затеяно, на самом деле, не в пику C и libnfnetlink, скорее, просто как лёгкий для понимания и разработки фреймворк, который ориентирован на негигабитные скорости (хотя при должном подходе и на питоне скорость у userspace стэка может быть очень даже на уровне). Сие можно использовать либо для неспешных задач вроде tarpit, либо для работы с сетевой конфигурацией (netlink), либо для образовательных целей -- если кто сеть изучает, то в интерактивном режиме питона cxnet позволит довольно легко разобраться с сетевыми протоколами и их работой. ЗЫ: в Сизиф рано или поздно соберу. -- Peter V. Saveliev
next reply other threads:[~2007-11-27 12:29 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-11-27 12:29 Peter V. Saveliev [this message] 2007-11-27 12:33 ` Peter V. Saveliev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200711271529.21626.peet@altlinux.ru \ --to=peet@altlinux.ru \ --cc=sisyphus@lists.altlinux.org \ --cc=sysadmins@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux sysadmins discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \ sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com public-inbox-index sysadmins Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sysadmins AGPL code for this site: git clone https://public-inbox.org/public-inbox.git