From: Ray Olszewski <ray@comarre.com>
To: linux-newbie@vger.kernel.org
Subject: Re: filtering .mp3 packets
Date: Mon, 25 Apr 2005 09:56:59 -0700 [thread overview]
Message-ID: <426D215B.30001@comarre.com> (raw)
In-Reply-To: <fc.004c4e00007a2960004c4e00007a2960.7a296f@palmertrinity.org>
William Stanard wrote:
> We've been having some difficulty finding the vocabulary to describe
> filtering content (for example .mp3 files) over TCP-IP. We would like to
> set up our Linux server to do some "trapping" of packets containing .mp3
> files with an eye toward using Linux enabled routing to clean our campus
> of an overwhelming dose of music downloads and trading. To do this
> exploration, I need to know what I should call the process I'm trying to
> perform. Any vocabulary that you can suggest?
What you are seeking to do is application-level (or content-based)
packet filtering, and the stock Linux routing capabilities are not
really the way to go about it.
What you can do at the conventional level of iptables rules is block
specific ports and IP addresses. This capability might, when combined
with some traffic analysis, allow you to interfere with the downloads in
question ... but P2P apps these days are pretty smart about working
around firewalls, often opting to use port 80 (www) to disguise their
nature.
To do content-based filtering, you need to do one of the following things.
1. Force LAN hosts to go through a proxy server to access the standard
services (smtp, www, and the like), while blocking ALL direct access to
the Internet. Then configure the proxy server to analyze and filter
content. Offhand, I don't know of an Open Source proxy server that will
do the sort of filtering you want ... partly because I don't *quite*
know what you want, beyond your example ... but you might want to see if
either "filterproxy" or "middleman" can be adapted to your needs.
2. Add application-level filtering to the iptables capability, probably
by dropping in some sort of userspace module that the router uses to
process all packets. Take a look at FireFlier
(http://fireflier.sourceforge.net/index.html) for some help here. Its
documentation is a bit sketchy, but it does support app-level filtering
in userspace, so it might be adaptable to your needs.
(BTW, please remember that app-level filtering in userspace is a bit
more demanding of CPU time thansimple kernel-level filtering ... if your
router is an old, slow Linux host like mine is, you may need to upgrade it.)
Even if you do something like either of these things, remember that
there willl be workarounds (using password-protected zip'd files, or
using https, for example) that will interfere with app-level filtering.
And also remember that a server can only filter what it sees ... so
controls at your router can restrict downloads from, and uploads to, the
Internet, but not LAN-to-LAN exchanges ... which may be what you meant
by "trading". (I suspect there are ways to do this too, but they are not
immediately obvious to me and they probably impose significant LAN
overhead.)
If you move ahead on this project, please don't hesitate to pose more
specific questions. I'd be curious to read what you come up with as a
solution here ... this sort of filtering seems to be an underaddressed
issue in Linux development.
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
next prev parent reply other threads:[~2005-04-25 16:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-25 11:27 filtering .mp3 packets William Stanard
2005-04-25 16:56 ` Ray Olszewski [this message]
2005-04-26 11:36 ` John T. Williams
2005-04-27 14:15 ` J.
2005-04-27 15:22 ` simon
2005-04-27 19:51 ` J.
2005-04-27 22:57 ` John T. Williams
2005-04-28 0:39 ` Ray Olszewski
2005-04-29 3:05 ` joy merwin monteiro
2005-04-29 11:43 ` Stephen Ray
2005-04-29 15:24 ` joy merwin monteiro
2005-04-29 15:51 ` Ray Olszewski
2005-04-29 23:39 ` joy merwin monteiro
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=426D215B.30001@comarre.com \
--to=ray@comarre.com \
--cc=linux-newbie@vger.kernel.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox