- 締切済み
Linuxである特定のIPアドレスから受信したパケットを破棄するモジュ
Linuxである特定のIPアドレスから受信したパケットを破棄するモジュールを作成したいのですが、TCP/IPとドライバ間のインターフェースであるネットデバイスを操作する方法がわかりません。もし ご存知の方がいたら、教えて頂けますでしょうか。また他の方法をご存じの方、あるいは何か参考になる情報をお持ちの方、是非ご教授願います。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nolix
- ベストアンサー率19% (110/572)
ipchainsかiptablesで可能です。 kernelで上記は変わります。 2.4系は両方使えたかもしれません。 スループットは、iptablesが良いですね。 tcpdumpで確認必須です。 port,tcp,udp,icmp,synフラグ等管理可能です。
- t_nojiri
- ベストアンサー率28% (595/2071)
http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html http://www.ibm.com/developerworks/jp/linux/library/l-linux-networking-stack/ http://d.hatena.ne.jp/nice20/20080422 この辺が役に立ちますかね?
補足
回答ありがとうございます!下の二個のwebは参考になりそうです!!助かりました。
- seednyan
- ベストアンサー率28% (448/1568)
カーネル2.26以上(だったかな?)であれば、iptablesコマンドで同様な処理ができたと思いますが。。。 参考例として、インターフェース eth0へのipアドレス 192.168.4.1からのパケットを拒否 iptables -A INPUT -i eth0 -s 192.168.4.1/32 -j DROP だったと思います。
補足
iptablesを使ってしまえばそれまでなんですが、物好きでしてiptablesに似たプログラムを作ろうと思ったんです。だけどライブラリを使っているみたいで、肝心の処理がわかりませんでした。もうちょっと頑張ってみます。回答ありがとうございました!
補足
回答ありがとうございます!僕もiptablesに似たプログラムを作ろうと思ってソースを解析したのですが、どうもライブラリを使っているみたいでパケット処理の内容がわかりませんでした。