grepで正規表現を用いてIPアドレス・MACアドレスを抽出する
Pocket

ネットワーク回りのログや調査をしていると、IPアドレスやMACアドレスだけをgrepで抽出したいことがある。
その場合は、それぞれ以下のようにgrepを実行するとよい。

IPアドレス

grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'

20160811_093250000000

[ssh-user@BS-PUB-CENT7-01 .ssh]$ echo IPAddress:255.255.333.111 | grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'
[ssh-user@BS-PUB-CENT7-01 .ssh]$ echo IPAddress:192.168.0.1 | grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'
IPAddress:192.168.0.1
[ssh-user@BS-PUB-CENT7-01 .ssh]$ echo IPAddress:192.168.100.243 | grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'
IPAddress:192.168.100.243
[ssh-user@BS-PUB-CENT7-01 .ssh]$ ip addr | grep -E '([1-2]?[0-9]{0,2}\.){3,3}[1-2]?[0-9]{0,2}'
    inet 127.0.0.1/8 scope host lo
    inet 172.XXX.XXX.XXX/24 brd 172.XXX.XXX.255 scope global eth0
    inet 172.XXX.XXX.XXX/24 brd 172.XXX.XXX.255 scope global eth1
Sponsored Links

MACアドレス

grep -i '[0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}'

20160811_094226000000

blacknon@BS-PUB-UBUNTU-01:~$ ifconfig | grep -i '[0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}'
eth0      Link encap:イーサネット  ハードウェアアドレス 62:35:64:64:61:31
eth1      Link encap:イーサネット  ハードウェアアドレス 32:63:31:63:38:61
blacknon@BS-PUB-UBUNTU-01:~$ ip addr | grep -i '[0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}'
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    link/ether 62:35:64:64:61:31 brd ff:ff:ff:ff:ff:ff
    link/ether 32:63:31:63:38:61 brd ff:ff:ff:ff:ff:ff
Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。