今、ネットワークの勉強をしていてwiresharkでパケットキャプチャしている。
スリーウェイハンドシェイクでsynパケットが届いているのにも関わらず、syn,ackパケットが返ってこない。
なぜだと思い、いろいろ調べてみると、nmapだのtelnetだのtracerouteだので検証している。
こいつらの違いって何なん?と思い、しかも毎回その都度調べるにも関わらず、忘れてしまっているので、ここにまとめる。
nmapとは
まず、nmapの名前の由来だが、ネットワーク上にどのような機器やサービスが動いているかという、ネットワークの地図を作成すること(Network Mapper)に由来する。
nmapのよく使われる役割としてポートスキャンがあるが、他にも特定ポートで動作するサービスアプリケーションの種類とバージョンを検出する機能や、OSおよびそのバージョンを検出する機能など、多数の機能を備えている。
ちなみに、ポートスキャンとは、サーバーの特定のポートに対してパケットを送信し、その応答を確認することで、アクセス可能な外部ポートなどを検出することである。
nmapは以下のように実行する。
nmap <スキャン対象のホストのIPアドレス(またはホスト名)>
例えば、私の用意している環境で以下のように実行してみる。
nmap 10.0.0.2
すると次のように返ってくる。
Starting Nmap 7.80 ( https://nmap.org ) at 2022-04-02 15:32 JST
Nmap scan report for 10.0.0.2
Host is up (0.0047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds.
↑の998 closed portsはツッコミどころではないか?と思うが、これは別の記事にあげるとしよう。
このように、ポート番号とその状態、そしてサービス名が表示される。
telnetとは
telnetの名前の由来は、Teletype Networkである。
Telnetとは、IPネットワークにおいて、遠隔地にあるサーバやルーター等を端末から操作する通信プロトコル、またはそのプロトコルを利用するソフトウェアである。
確かに、名前その通りだ。
Telnetクライアントは、Telnetサーバとの間でソケットを開き、単純なテキストベースの通信を行う。基本的にはポート番号23番を使用する。
代表的なTelnetクライアントとして、Tera Termがある。
tracerouteとは
tracerouteは、あるホストから別のホストまでのネットワーク経路をリスト表示するコマンドである。
ここでの経路とは、ホスト間を接続するルーターを示す。
tracerouteを使うことで、経路上にどのようなルーターが位置しているのかが表示される。
tracerouteの使い方は、以下の通りである。
traceroute <IPアドレスまたはドメイン名>
例えば、yahoo.co.jpを対象に実行してみる。
traceroute yahoo.co.jp
すると、結果は以下のように返ってくる。
traceroute to yahoo.co.jp (182.22.25.124), 64 hops max, 52 byte packets
1 buffalo.setup (192.168.11.1) 2.455 ms 1.810 ms 1.532 ms
2 10.152.84.1 (10.152.84.1) 3.056 ms 4.248 ms 3.154 ms
3 192.168.35.5 (192.168.35.5) 5.397 ms 4.282 ms 4.425 ms
4 sjkacs001.bb.kddi.ne.jp (27.85.212.137) 6.281 ms 5.420 ms
sjkacs001.bb.kddi.ne.jp (27.85.212.5) 5.918 ms
5 27.85.227.93 (27.85.227.93) 4.959 ms
27.86.47.233 (27.86.47.233) 5.769 ms 7.264 ms
6 otejin302.int-gw.kddi.ne.jp (27.86.32.10) 5.045 ms 5.511 ms 9.096 ms
7 111.108.12.174 (111.108.12.174) 5.170 ms 4.911 ms 5.346 ms
8 * * *
9 * * *
このように、目標のサーバまでに7つのルーターを経由することが分かる。
まとめ
とりあえず、気になっていた3つのコマンドについて軽く調べてみた。
追記する可能性あり。