mrtc0.logこの広告は、90日以上更新していないブログに表示しています。SecurityPythonライブラリであるNetfilterQueueを使うことでiptablesのnfqueueルールにマッチしたパケットを扱うことができる。IndexここではNetfilterQueueとScapyを使用して偽のDNS応答パケットを返してみる。RequestパケットをフックしてReplyを返すfake_icmp.pyを作ってみる。sys.exit(1)main()iptablesにてecho-requestなICMPパケットをNFQUEUEターゲットでキューに入れる。1この状態でfake_icmp.pyを起動して、pingを打ってみる。ms実際には8.8.8.8にパケットは送信されず、iptablesのNFQUEUEターゲットによってフックされ、fake_icmp.pyへ渡される。replyが送信される。192.168.1.210偽のDNS応答を返す同様にDNSの問い合わせパケットをフックし、実際とは異なるIPアドレスを返すようにしてみる。iptablesでポート53番へ送信されるパケットをNFQUEUEに渡す。ここではキューIDを2にしている。2fake_dns.pyは以下のようになる。先ほどのICMPと同様、受け取ったパケットに基づいてDNS応答パケットを作成する。sys.exit(1)main()引数に返したいIPアドレスを渡して起動する。ここでは153.120.0.175(mrtc0.com)を渡す。153.120.0.175digの結果は以下のようになる。122偽の応答を返していることが確認できた。01:42nfqueue+scapyで偽の応答を返すTweet広告を非表示にする関連記事2016-03-19gopacketでpcapを読み込むGoでパケットを扱うライブラリにgopacketがある。Buttonを試す月別アーカイブはてなブログをはじめよう!mrtc0さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。