TTLおよびTCPウィンドウサイズでのHacker Geek OSフィンガープリント
ネットワーク上のデバイスがどのようなオペレーティングシステムで動作しているかは、ネットワーク上の通信方法を見ればわかるだけです。デバイスが実行しているオペレーティングシステムを確認する方法を見てみましょう。.
なぜあなたはこれをしますか?
マシンまたはデバイスがどのOSを実行しているかを判別することは、さまざまな理由で役に立ちます。まず、毎日の見通しを見てみましょう。あなたが月額50ドルで上限のないインターネットを提供している新しいISPに切り替えたいと思ったら、あなたは彼らのサービスを試してみることになります。 OSフィンガープリントを使用することにより、すぐにそれらがごみルータを持ち、Windows Server 2003マシンの束で提供されるPPPoEサービスを提供することを発見するでしょう。もうそんなにいい話には思えない、ハァッ?
これに対する別の用途は、それほど倫理的ではありませんが、セキュリティホールはOS固有のものであるという事実です。たとえば、ポートスキャンを実行し、ポート53が開いていて、マシンが古くて脆弱なバージョンのBindを実行している場合、失敗するとデーモンがクラッシュするため、セキュリティホールを悪用する可能性があります。.
OSフィンガープリントの仕組み?
現在のトラフィックを受動的に分析したり、古いパケットキャプチャを見たりするときに、OSフィンガープリントを行う最も簡単で効果的な方法の1つは、最初のIPヘッダーのTCPウィンドウサイズとTime To Live(TTL)を見ることです。 TCPセッションのパケット.
これは、より一般的なオペレーティングシステムの値です。
オペレーティング・システム | 有効期間 | TCPウィンドウサイズ |
Linux(カーネル2.4および2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vistaおよび7(Server 2008) | 128 | 8192 |
iOS 12.4(Ciscoルータ) | 255 | 4128 |
オペレーティングシステムの値が異なる主な理由は、TCP / IPのRFCではデフォルト値が規定されていないためです。他にも覚えておくべき重要なことは、リストされているオペレーティングシステムのいずれかを実行しているデバイスでもTTL値が常に表の1と一致するとは限らないということです。 TTLをそのOSのデフォルトのTTLに設定しますが、パケットがルーターを通過するときにTTLは1下げられます。したがって、TTLが117の場合、これはTTLが128で送信されたパケットであると考えられます。キャプチャされる前に11台のルータを通過したことがある.
tshark.exeを使用するのが値を確認する最も簡単な方法です。パケットキャプチャを取得したら、Wiresharkがインストールされていることを確認してから、次の場所に移動します。
C:\ Program Files \
シフトボタンを押しながらwiresharkフォルダを右クリックして、コンテキストメニューからここでコマンドウィンドウを開くを選択します。
今タイプしなさい:
tshark -r "C:¥Users¥Taylor Gibb¥Desktop¥blah.pcap" "tcp.flags.syn eq 1" -Tフィールド-e ip.src -e ip.ttl -e tcp.window_size
必ず「C:\ Users \ Taylor Gibb \ Desktop \ blah.pcap」をパケットキャプチャの絶対パスに置き換えてください。 Enterキーを押すと、キャプチャからのすべてのSYNパケットが表示され、読みやすくなったテーブル形式になります。
これは、私がHow-To Geek Webサイトに接続して作ったランダムなパケットキャプチャです。Windowsが行っている他のすべてのチャタリングの中で、2つのことが確実にわかります。
- 私のローカルネットワークは192.168.0.0/24です
- 私はWindows 7のボックスにいます
テーブルの1行目を見ると、私は嘘をついていないことがわかります。私のIPアドレスは192.168.0.84です。私のTTLは128、私のTCPウィンドウサイズは8192です。これはWindows 7の値と一致します。.
次に見るのは、TTLが44でTCPウィンドウサイズが5720の74.125.233.24アドレスです。私のテーブルを見ると、TTLが44のOSはありませんが、それはLinuxがGoogleのサーバーであることを意味します。 TCPウィンドウサイズ5720を使用して実行します。IPアドレスのクイックWeb検索を実行した後、あなたはそれが実際にGoogleのサーバーであることがわかります.
他に何のためにtshark.exeを使用しますか?コメントで教えてください.