1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自分と同じLAN内にある機器のMACアドレスを取得する

Posted at

はじめに

自分のPCと同じLAN内にある機器(192.168.0.0/24)のMACアドレスを調べたい。そこでpingコマンドを用いてarpテーブルに192.168.0.0/24の機器のMACアドレスを記録し、それをarpコマンドで取得。

pingコマンドを用いてarpテーブルにMACアドレスを記録

echo 192.168.207.{0..254} | xargs -P256 -n1 ping -s1 -c1 -W1

これで自分のPCと同じLAN内にある機器(192.168.0.0/24)のMACアドレスがarpテーブルに記録される。
|はUnix系オペレーティングシステムのパイプ(pipe)である。複数のプログラムの入出力をつなぐための仕組みで、今回はechoコマンドで標準出力に出力したipアドレスへxargspingコマンドを使ってpingを飛ばす。

echo 192.168.0.{0..254}

192.168.0.0から192.168.0.254までのipアドレスを標準出力に出力する。

xargs -P256 -n1 ping -s1 -c1 -W1

xargsのオプション

  • -P256: 同時に実行するプロセス数の上限が256という意味
  • -n1: 1回のコマンドラインで使用する引数の上限が1という意味(この指定によって各ipアドレスへpingが飛ばされる)

pingのオプション

  • -s1: pingの試験するパケットサイズを1に設定する
  • -c1: pingの回数を1に設定する
  • -W1: 送信した各パケットの返信を10ミリ秒待つ時間(どれくらいの時間をとればいいのかはよくわからないのでちょっと長めにした、大体は1ms以内に返信が返ってくる)

arpコマンドを用いてarpテーブルの内容を取得(ついでに保存)

$ arp -a > arp.log

arpテーブルの内容をarp.logに保存
-aは現在のARPエントリーのすべてを表示する

最後に

自分の備忘録として書きました。情報系の人にとっては何をいまさらという内容だったかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?