ルールを使用して、コンピューター上のアプリケーションデータパケットをブロックしようとしました
iptables -I OUTPUT 1 -p tcp \! -f --dport 443 -m state --state ESTABLISHED -m u32 --u32 "0>>22&0x3C@ 12>>26&0x3C@ 0 & 0xFF000000=0x17000000" -j DROP
これにより、Webサイトのハンドシェイクは可能になりますが、アプリケーションパケットはブロックされます。
これは機能しますが、一部のWebサイトをネットに接続できるようにしたいので、別のルールを追加します
iptables -I OUTPUT 1 -p tcp \! -f --dport 443 -s 69.171.230.68 -m state --state ESTABLISHED -m u32 --u32 "0>>22&0x3C@ 12>>26&0x3C@ 0 & 0xFF000000=0x17000000" -j ACCEPT
ただし、その特定のIPアドレスに接続しようとすると、これは機能しません。 (パケットはブロックされ、wiresharkには表示されません)
これが発生する理由を知っていて、この機能をデバッグするのを手伝ってください!!
注:上記のルールを理解するには、これを読む必要があるかもしれません blog
あなたは出力チェーンにいて、ウェブサイトが宛先であるため、-s 69.171.230.68
を-d 69.171.230.68
に置き換える必要があります。