Help us understand the problem. What is going on with this article?
ネットワークのトラブルシュートなどをする時にtcpdumpやwiresharkといったツールを使ってキャプチャデータを取得し、正常ではない通信を特定するなど分析します。その時にIPアドレスやポート番号といったことは当然確認すると思いますが、本記事ではそれ以外に分析に利用できそうな小技をいくつか紹介したいと思います。お題は以下のとおりです。 MACアドレスからNICのベンダーが分かる IPヘッダからおおよそのホップ数が推測できる TCP/IPヘッダからOSを推定できる TCPの3-way-handshakeからネットワークの遅延を測れる TCPの再送状況からネットワーク品質の変化を見れる DHCP/mDNS/NBNS/LLMNR から同一ネットワーク内のホスト名がわかる TLSのclient helloから接続先のホスト名がわかる 【注意事項】 本職のネットワークエンジニアの方にとっては当た
messages とかに kernel: device eth0 entered promiscuous mode のようなログが残らなくなります。その代わりそのホスト宛てのパケットしかキャプチャされません。 カーネルログが監視されててもこっそりキャプチャ出来ます。 -w file キャプチャ結果をファイルに出力する。出力されたファイルは Wireshark で開けます。
はじめに BPFの基礎 BPFの構造 BPFでのフィルタリング レジスタマシン LinuxでのBPF BPFを利用したパケットフィルタリング libpcapとBPF ここまでのまとめ 参考文献 その他参考URL はじめに BPFはBerkeley Packet Filterの略で,1993年に効率的なパケットフィルタリング手法として提案されました[1] *1. BPFの構成要素は大きく2つあって,一つがネットワークからパケットをキャプチャする部分,そしてもう一つがキャプチャした パケットをフィルタリングする部分です.BPFといった場合,後者のフィルタリング機構だけを指すことも多いです. FreeBSDなどのBSD系のOSでは/dev/bpf*という特別なデバイスがあって,このBPFを利用することができます.また, Linuxでもパケットフィルタリング(Linux Sokcet Filter
LinuxでSDNっぽいことをOpen vSwitchでやろうとすると、BridgeやらNamespaceやらInterfaceやらが増えまくって全貌の把握が困難になってきます。また、なぜかpingが通らないときなど、あっちこっちでtcpdumpして回るのは大変です。 そこで、コマンド一つでOpen vSwitchやNamespaceの関係図を描き、ついでに全interfaceをtcpdumpしてpingがどこを通っているかも色で示すツールを作りました。 今のところ単一ホスト内のみなので複数nodeあるときは各nodeで実行する必要がありますが。 使い方 ソースは https://github.com/NeoCat/ovsimager にあります。sudo できるユーザかrootで $ sudo gem install ovsimager $ sudo yum install graphv
tsharkはWiresharkのCLI(コマンドライン)版と言えるもので、GUIのないサーバ上やターミナルからtcpdumpと同じ利便性で使える、パケットキャプチャです。tsharkによるSummaryもWiresharkど同等の内容で確認できるので、tcpdumpよりtsharkの方が好まれる人も多いのでは。 GUIではWiresharkが最もメジャーなパケットキャプチャで、使用されている方も多いかと思います。かたやCLIではtcpdumpを使う方が多いのではないでしょうか。この場合、tcpdumpの代わりにtsharkを使うとCLIでもWiresharkと同様の確認が行えるのでよいかもしれせん。 tsharkはWiresharkのパッケージに含まれて提供されていますので、Wiresharkがインストール済みであれば既に実行可能かと思います。 WindowsやLinuxでは下記Path
March 16, 2016 It took me 2 years, but I think now I love tcpdump. Before we go into why – what’s tcpdump? tcpdump is a tool that will tell you about network traffic on your machine. I was scared of it for a long time and refused to learn how to use it. Now I am wiser and I am here to show you that tcpdump is awesome and there is no need to be scared of it. Let’s go! tcpdump: the basics (or: how n
本番環境で動いているFluentdのin_forwardに何が流れているのかを知りたい、けど設定を触りたくない…みたいな場合に流れているタグやレコードを見る方法です。特にFluentdに限った話ではないですが、備忘録として書いておきます。 1. tcpdumpでキャプチャ 調べたいサーバ上で、tcpdumpを使ってパケットキャプチャを取ります。in_forwardのポート番号などを指定してキャプチャします。 $ sudo tcpdump -i eth0 -w fluentd.pcap port 24224 and tcp 2. tcptraceでTCPストリームのデータだけ吐き出す tcptraceは-eオプションを渡すと、TCPストリームごとのデータをファイルに吐いてくれるのでこれを利用します。なお、tcptraceはHomebrewやaptで入ると思います。 $ tcptrace -e
例として www.example.com への HTTP GET のパケットキャプチャをやってみる。 $ sudo tcpdump host www.example.com and port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes 09:36:20.760358 IP 10.0.1.23.65428 > 93.184.216.119.http: Flags [S], seq 2250708012, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 938288017 ec
Software Design 2014年8月号の後藤大地さんの記事を読んだメモを残しておきます。普通に書くとまんまコピーになるので、自分がよく使うであろうコマンドを主に載せています。詳しくかつちゃんと知りたい人はSoftware Designを読みましょうw 0.tcpdumpとは tcpdumpとはネットワーク通信の生のデータをキャプチャし、その結果を出力してくれるキャプチャツールです。 Linuxだとディストリのパッケージ管理ソフトでわりとさくっと入ると思います(無責任w)。実際には導入していませんが、WindowsでもWinDumpというtcpdumpライクなツールがあります。Mac OS X 10.9.4 では最初から入っているようです。 1.tcpdumpコマンドの使い方 1.1.とにかく実行してみる 次のコマンドでとりあえずtcpdumpを実行できます。
いかがですか。結構めんどくさいですね。 理論だけでは頭がいたくなってきます(私もそうです)。 実は、私もTCPについてはほとんど覚えておらず、必要となったときに書籍を 参考にしながらパケットを追いかけるということをしています。では、 さっそく実例としてtcpdump の出力を追いかけてみましょう。例として、Windows NT にログインして Netscape Communicator を起動したときのパケットの流れを見てみます。 ちょっとその前に予備知識として、私が今使用している PC(Windows NT 4.0)でどんなコネクションが張られているかを、 netstatコマンドで見てみましょう。 C:\>netstat -a Active Connections Proto Local Address Foreign Address State TCP hotta:1030 0.0.0
tcpdumpコマンドといえば、WireSharkと同様にネットワーク上を走っているパケットを閲覧するためのプログラム(パケットキャプチャツール)として利用されているコマンドだ。 ネットワークの仕事をしている人なら、触っている人も多いのでは無いだろうか。 今回は、そんなtcpdumpコマンドで覚えておきたい使い方についてを紹介する。 1.基本的な使い方 基本的には、ただtcpdumpと打っただけでもコマンドを利用することは出来る。 tcpdump test@test-vm-ubuntu:~$ sudo tcpdump [sudo] password for test: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (
ファイアウォールを構築したらサーバにアクセスできなくなった。あるいは、一見正しく動作しているようでもルールに抜け穴があれば意味がない。ファイアウォールの動作が本当に適切かどうか、各種のツールを利用してチェックしよう。 第3回から3回に分けて、ファイアウォールの構築方法を紹介してきました。今回は、構築したファイアウォールの動作の確認方法などについて説明します。 tcpdumpによるファイアウォールの導通確認 導通確認とは、目的のサーバに対してルールどおりにアクセスできることを確認することです。もちろん、実際にアクセスすれば確認できるでしょう。「導通確認」という観点から考えるとこれだけでも目的は達成できるのですが、今回は接続できないというトラブルも想定してツールを使ってみましょう。 ファイアウォールを介すると目的のホストに接続できないときは、NATやFORWARDの問題など、さまざまな原因が考
OpenSSLの脆弱性「Heartbleed」が世間を賑わせていますが、色々と乗り遅れてしまった感があるので、ゆるゆると落ち穂拾いをしようかと思います。 Heartbleedで秘密鍵を手に入れたらSSL通信の中身全部見えちゃうじゃん!! という事態になっていますが、なんとなく理論的にそうだろうなと分かるもののイマイチ具体的な手順が分からない。 というわけで今回のテーマとして、手元にサーバの秘密鍵と、SSL通信をパケットキャプチャしたpcapファイルがあるときに、Wiresharkでどんな感じでSSL通信を「ほどく」のか……という具体的な手順を、ハマり所を含めてまとめておこうかと思います。 というか、私自身がハマったので自分用メモですな。なおこの文書では"SSL"とだけ記述し、TLSは無視しています。 前提条件 とりあえず以下のような感じの検証環境で試しました。 IPアドレス 説明 ホストO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く