Linuxでパケット解析をする方法

このQ&Aのポイント
  • Linuxでパケット解析をするためにはsnoopコマンドが必要ですが、インストールがうまくいかない状況です。
  • パケット解析にはtcpdumpやetherealもありますが、この質問ではsnoopを使いたいという要望があります。
  • 質問者はsnoopをインストールするための手順がわからず、ファイルが存在しないことに困っています。
回答を見る
  • ベストアンサー

linxuでパケット解析がしたい

こんばんは、皆さん。 私は現在、Fedora Core 4を使用しております。 WEBを見よう見真似でパケットキャプチャをしようしていますが、 snoopコマンドを打ってみたところ、comman not foundになりました。 しかたないのでコマンドをインストールしようと、 以下のサイトからsnoop v0.1.tar.gzをダウンロードしてきました。 http://www.cir.nus.edu.sg/research/software/snoop/linux-snoop-how-to.html これを上記の英文サイトを参照してインストールしようとしています。 3.1でModifying the kernelとあるので、カーネルをどうにかしないといけないようです。 netsyms.cとip_forward.cを編集するようなことが書いてあるので、 さっそく/usr/src/linux/net/ipv4/ip_forward.cを見てみようと思ったら、 ファイルがありませんでした。 もう一つのnetsyms.cもありませんでした。 現状はここで行き詰っています。 何とかしてsnoopをインストールしたいので、方法を教えていただけませんか? tcpdumpやetherealがあるのは知っていますが、後で使うので今回はsnoopをlinuxで使えるようにしたいという質問です。

noname#17299
noname#17299

質問者が選んだベストアンサー

  • ベストアンサー
  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

そのhow-toに、 1.3. Which versions of Linux is Linux Snoop compatible with? Linux Snoop has been tested to work with 2.4.20. It should work on the 2.4 kernel series. と、あります。 fedoraで2.4系カーネルを使っているのは、fc1だけです。snoopはカーネルをフックするもので、使用にあたってはカーネルの再コンパイルも必要なほど、カーネルと密接に関連しています。 2.6カーネルで使用するにはかなり手直しが必要になると思います。 あと、fedora core 4ではカーネルソースは標準ではインストールされません。core2までは、ソースの展開形のrpmが用意されており、それをインストールすればよかったのですが、3以降はSRPMから入手することになります。 やりかたは、fc3の事例の説明ですが http://www.atmarkit.co.jp/flinux/rensai/linuxtips/680kernelsfc3.html http://www.devdrv.co.jp/linux/fc3-kernel-source.htm を参考にしてください。要するに、srpmをインストールすると /usr/src/redhat/BUILD/ 以下にソースが展開されるので、それを /usr/src/linuxにコピーするなり、シンボリックリンクを張るなりすればよい、という話です。 最新のFC4用のカーネルSRPMのダウンロードアドレスは http://ftp.kddilabs.jp/Linux/packages/fedora/core/updates/4/SRPMS/kernel-2.6.14-1.1653_FC4.src.rpm です。 snoopに手を入れるかカーネルをいじるか、いずれにしても大変な作業になりそうです。がんばってください。

noname#17299
質問者

お礼

お返事ありがとうございます。 一般的でない操作をするには技術不足ということがわかりました。 どうしてもfc4でないといけないわけじゃないので、今回はfc2でやってみます。 途中で行き詰ったらまた質問させていただきますので、その時はよろしくお願いします。 ありがとうございました。

関連するQ&A

  • linuxへtcpdumpインストール失敗?

    linuxへlibpcap,tcpdumpをインストールしました。 #tcpdump の結果が以下のようになります。 tcpdump: socket: Socket type not supported インストールに失敗しているのでしょうか? 何がおかしいのか教えて下さい。よろしくお願いします。 入っているlinuxは何かわかりません。->お恥ずかしながらコマンド知りません。 インストール手順は、以下のURLを参照し、そのまま実施致しました。 http://www.geocities.co.jp/SiliconValley/6633/linux/tcpdump.html

  • coLinuxでtarが使えない

    itproのサイトを参考にしてcolinux(FedoraCore1)を インストールしました。 普通のLinuxとどう違うのかいろいろいじってみましたらtarコマンドがcommand not foundになります。 tarコマンドを使えるようにするにはどのようにすれば よいでしょうか?

  • RHL7.2でカーネルの再構築

    RHL7.2でインストールしたばかりのデフォルトの状態で、カーネルの再構築(linux-2,4,17.tar.gz)ができません。マニュアルにあるように、 cp linux-2.4.17 /usr/src tar xvzf linux-2.4.17 cd /usr/src/linux make xconfig make dep make clean make modules make modules_install make install の手順を踏んでカーネルの再構築をしているのですが、どうしても、最後のmake install時にエラーが2つでてしまいます。 カーネルオプション事態には問題はないと思うのですが、なぜ、エラーがでてしまうのかわかりません。エラーの一つに「lilo.confがありません」。とでてくるのですが、インストール時にはGRUBを設定しています。 このエラーに関して、思い当たることがあれば、どうか、教えてください。お願いします。 ついでにPPPもできずに困っています。RHL7.1では普通にできたのに・・・ RHL7.2自体の評判というのはどうなんでしょうか?それについても教えてください。どうか、よろしくお願いします。

  • リナックス カーネルの c言語ソースについて

    リナックスの質問です。 (超初心者です) カーネルの c言語ソースは どうしたら見られるのでしょうか。 (ウィンドーで) カーネルをネットからダウンロードして、 TAR.BZ2自己解凍モジュールで、解凍しました。 解凍ファイルは いろいろディレクトリーに分かれており、 様々のものがありますが、C言語ソースが見あたりません。 (ファイルを開けてみましたが 何がなにやら、わからないのが正直なところです) と言うより、どれがカーネルの本体かと、謎は深まるばかりです。 日経リナックスムックの 自分で作るリナックスOS で、いろいろ勉強するのですが 「カーネルのソースを見る」 で行き詰まっています。 トンチンカンな質問かもしれませんが、教えてください。

  • Vine Linux 2.5のブラウザMozilla にFlashをインストールしたいです

    Vine Linux 2.5 をクライアントPCとして使っています。ブラウザはMozilla 0.9.8+ です。WebでFlashを表示させようと、Flashをインストールしたのですが、うまくいきません。まず初めに、Download ボタンを押し、ファイルをディスクに保存しました。 install_flash_player_6_linux.tar.gz となっていたので、gedit で開いて gzip -d コマンドでファイルを復元しました。ファイルがinstall_flash_player_6_linux.tar となったところで、tar xvf コマンドでアーカイブからファイルを取り出す作業をしました。install_flash_player_6_linux ディレクトリができ、その中にいくかのファイルがあります。ここまではできたのですが、あとはどのようにしたらよいのでしょうか?

  • ドライバのインストール時にエラーが出ます。

    ドライバのインストール時にエラーが出ます。 パソコンのスペックです メーカー:Unitcom OS:windows7,後にCentOSとデュアルブート プロセッサ:Intel(R) Core(TM) i3 CPU 540@ 3.07GHz 3.07GHz 実装メモリ:2.00GB システムの種類:32ビット ビデオカード:Intel(R) Graphics Media Accelerator HD ネットワークアダプタ:Atheros AR8131 PCI-E Gigabit Ethernet Controller (NDIS 6.20) 私はLinuxのコマンドや階層、ファイルコピーの方法は理解しておりますが インストール、ドライバやサーバの構築は初めてです。 Linux CentOS5.4をインストールしました。 インストールの際手元のマニュアルではネットワークの設定が出るはずですが その設定は出ませんでした。 また、ネットワークケーブルを差し込んで再度インストールをしましたが その画面はでませんでした。 rootでログインした後ifconfigのコマンドを打っても inet addr:127.0.0.1 Mask:255.0.0.0 と表示され自動で取得もしてなさそうです。 (手元のマニュアルではインストール機能はまずはbaseしか入っていません) その後いろいろと検索したところ LANボードのドライバが認識されていない などと解答もあるのであり一度ドライバをインストールしようと http://partner.atheros.com/Drivers.aspx AR81Family Linux Driver の AR81Family-Linux-v1.0.1.9.tar.gz をダウンロードしてきました。 ドライバのインストール手順ですが 1. Move the base driver tar file to the directory of your choice. For example, use /home/username/arl1e or /usr/local/src/arl1e. #/usr/local/src/arl1eの下にAR81Family-Linux-v1.0.1.9.tar.gzを置きました 2. Untar/unzip archive: tar zxf AR81Family-Linux-v1.0.1.9.tar.gz #解凍(という言い方でいいんでしょうか)このコマンドを打って実行しました 3. Change to the driver src directory: cd arl1e-1.0.1.9/src/ #バージョン管理のためフォルダを作成しsrcの下に行きました 4. Compile the driver module: make install #これを実行後下記エラーでストップしています Makefile:101; ***Linux kernel source not configured - missing version.h Stop. とエラーが返されました。 kernel sourceが構築出来ないとでているのですが 1.kernelを認識してないのでしょうか? Kernelがどうなっているのか調べたいのです。 http://www.kernel.org/ でlinux-2.6.34.tar.bz2はダウンロードしてきました。 2.Kernelの有無はどこで確認すれば良いのでしょうか?(バージョン) 3.Kernelはインストール方法などサイトがあれば教えてください。 よろしくお願いします。

  • バイナリで配布されているプログラムをインストールする際、ディストリビューションとか関係ないんですか?

    すみません。PC-UNIX初心者です。 今、FreeBSDとSolaris10とDebianとFedoraCoreが入っているんですが、とりあえず、プログラム開発環境を作りたいと思いまして、ApacheとPHPとMySQLをインストールしようとおもいました。 書籍の解説&CDには、tar.gz形式のファイルが入っていますが、どのディストリビューションでもこれらのバイナリファイルはインストール可能なんでしょうか?ディストリビューション特有のパッケージ(RPMなど)があることは、知っているんですが、よくサイトで配布されているtar.gz形式とかのバイナリファイルまたはソースファイルは、どのディストリビューションでもインストール可能なようにできているんでしょうか? そもそもLinuxとFreeBSDとかは構造および開発経緯が違う?から、一緒のファイル(この場合だとhogehoge.tar.gz)でインストールを行えるとは思いもよりませんでした。これは、カーネルが同じだからできるという解釈でいいんでしょうか?それともFreeBSDとLinuxではカーネルは違うんでしょうか? PC-UNIXはディストリビューション間で互換性を保とうとカーネルを同じにしているんでしょうか? 詳しい方、よろしくお願いします。

  • krenelのバージョンアップについて

    VInelinux6.0を使用しています。 カーネル2.6.35からカーネル2.6.38にバージョンアップさせたいのですが。できません apt-getを用いてやろうとすると リストに無くできませんでした。 サイトから2.6.38をダウンロードを行い 解凍を行い tar jxf linux-2.6.38.tar.bz2 シンボリック・リンクの作成 # ln -s linux-2.6.38 linux #make menuconfig を行い(よくわからないので設定はいじってない) #make を行い(50分ぐらいかかった) # make install をしてから 再起動させたのですが。 最初のboot?(黒い画面で選択するやつ)でいつもどおり起動させようとすると、エラー15 not file found となり起動することができませんでした。 なぜでしょうか?? linuxを始めたばかりでよくわからないので 解説をお願いします。

  • libpcap のフィルタが正常動作しない

    Linux 2.4.21-37.ELsmp、gcc 3.2.3で、libpcap-0.9.4 と tcpdump-3.9.4 のソースの tar ball をコンパイルしました。パケットの取得はできるのですが、フィルタを指定すると動作しません: (X)tcpdump -i eth1 'ip[12]=0x0a and ip[13]0x00 and ip[14]=0x00 and ip[15]=0x01' → 全くキャプチャ出来ない (△)tcpdump -i eth1 'host 10.0.0.1' → キャプチャ出来るが、なぜか destination address が 10.0.0.1 のものだけ取れる (X)tcpdump -i eth1 'dst host 10.0.0.1' → 全くキャプチャ出来ない 自作のソースで、 pcap_loop()/packet_handler(...pkt_data...) memcpy( &ip_src, &pkt_data[26], 4 );、memcpy( &ip_dst, &pkt_data[30], 4 ); すると、正常にアドレスを参照できます。 ところが、pcap_compile()/pcap_setfilter() を使うと、フィルタが正常に認識されないのです。 どうしたらよいのでしょう・・・?

  • Linuxでc言語を学習したいのですが!

      Linuxでc言語を学習したいのですが、色々調べてみても、GUIでの操作ができるという、”Gtk”が候補に挙がっていました。  因みに、LinuxはRed Hat8~Fedora Core3まで使用して、ネットワークサーバーを組んでいます。しかし、GUIで動かしてみると、CPUがCeleron-1.2GHzでも 重いです。  Linuxでc言語を始めようと、考えているのは、組み込みLinuxを選択したいからです。osのカーネルの部分を組み替えるには、c言語が必要だと思ったのです。  まずは、c言語かなと、考えて、windowsでも出来る CPad for Borland C++Compilerを導入して、少しだけ、学習を始めました。このまま、windowsペースのcの学習では、Linuxでのc言語に入れないと考え始めたのです。  他のものもあると思いますが、Linuxでのviエディターベースでcが出来る方法は、何でしょうか?  デストリビュウションに付属のコンパイラーは使ったことも、使い方もしりませんが、lanレベル3の状態でこれらを呼び出すにはどうすればいいのでしょうか? 以上のことについてお伺いします。  1、Linux用のcコンパイラーできれば、デガッパもついてるものはありませんか?別々のはありますが!  2、vi エディターベースで出来ませんか?sshでやれれば一番やりやすいのですが?  3、デストリビュウションに付属のコンパイラーのテキストペースでの使用方法  4、tarペースのインストール方法が良く分かりません。1、の新たなコンパイラーのインストールにrpmであれば助かります。もしtarペースのインストールにつて必要ならば、教えてください。あつかましいですが。 以上4つに、ついてお願いします。