arp-scanを使用して返された冗長IPアドレスのリストを取得します。ただし、arp-scan は同じ MAC アドレスを持つ冗長 IP をリストします。 asx.txtのソートされた出力を取得します(簡潔にするために短縮)。
arp-scan 172.16.0.0/16 > as.txt
sort as.txt > as2.txt
cat as2.txt | uniq -D -w 36 > asx.txt
kye-mgmt02:/data # cat asx.txt
172.16.150.68 d8:cb:8a:b0:6a:12 Micro-Star INTL CO., LTD.
172.16.150.68 d8:cb:8a:b0:6a:12 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.69 00:23:24:9e:3d:32 G-PRO COMPUTER
172.16.150.69 00:23:24:9e:3d:32 G-PRO COMPUTER (DUP: 2)
172.16.150.70 00:23:24:9e:3d:82 G-PRO COMPUTER
172.16.150.70 00:23:24:9e:3d:82 G-PRO COMPUTER (DUP: 2)
172.16.150.71 d8:cb:8a:86:2f:56 Micro-Star INTL CO., LTD.
172.16.150.71 d8:cb:8a:86:2f:56 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.72 d8:cb:8a:cf:f1:e8 Micro-Star INTL CO., LTD.
172.16.150.72 d8:cb:8a:cf:f1:e8 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.73 d8:cb:8a:cf:f1:5d Micro-Star INTL CO., LTD.
172.16.150.73 d8:cb:8a:cf:f1:5d Micro-Star INTL CO., LTD. (DUP: 2)
ご覧のとおり、IPアドレスは同じMACアドレスを持つため、実際には重複しません。
実際、異なるMACを持つ重複したIPを見つけるためにファイルを編集し、最後のIPのMACを変更しました。
kye-mgmt02:/data # cat asx.txt
172.16.150.68 d8:cb:8a:b0:6a:12 Micro-Star INTL CO., LTD.
172.16.150.68 d8:cb:8a:b0:6a:12 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.69 00:23:24:9e:3d:32 G-PRO COMPUTER
172.16.150.69 00:23:24:9e:3d:32 G-PRO COMPUTER (DUP: 2)
172.16.150.70 00:23:24:9e:3d:82 G-PRO COMPUTER
172.16.150.70 00:23:24:9e:3d:82 G-PRO COMPUTER (DUP: 2)
172.16.150.71 d8:cb:8a:86:2f:56 Micro-Star INTL CO., LTD.
172.16.150.71 d8:cb:8a:86:2f:56 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.72 d8:cb:8a:cf:f1:e8 Micro-Star INTL CO., LTD.
172.16.150.72 d8:cb:8a:cf:f1:e8 Micro-Star INTL CO., LTD. (DUP: 2)
172.16.150.73 d8:cb:8a:cf:f1:5d Micro-Star INTL CO., LTD.
172.16.150.73 d8:cb:8a:cf:f1:55 Micro-Star INTL CO., LTD. (DUP: 2)
異なるMACで冗長IPを出力する方法の調査
期待される出力
172.16.150.73 d8:cb:8a:cf:f1:5d Micro-Star INTL CO., LTD.
172.16.150.73 d8:cb:8a:cf:f1:55 Micro-Star INTL CO., LTD. (DUP: 2)
他のMACを使用して冗長IPを出力する正しいオプションが見つからないようです。
助けてください。
**試験を終えた
cat asx.txt | uniq -D -s 15 -w 33
cat asx.txt | uniq -D -s 15 -w 17-33
cat asx.txt | uniq -D -f1 -w 33
cat asx.txt | uniq -D -f1 -w 32
cat asx.txt | uniq -D -f1 -w 31
cat asx.txt | uniq -D -f1 -w 30
cat asx.txt | uniq -D -f1
cat asx.txt | uniq -D -s 15
しかし、それらのどれも望ましい結果を提供しません。
答え1
各行のラベルはDUP:
役に立ちません。 2行を同じように処理したい場合は、2行が異なります。この問題を解決する方法は2つあります。 1)IPアドレスとMACアドレスのみを考慮するか、2)DUP:
一意性を見つける前にタグを削除します。
方法1を実装する1つの方法は次のとおりです。
$ awk '{print $1 " " $2}' < asx.txt | uniq -u
172.16.150.73 d8:cb:8a:cf:f1:5d
172.16.150.73 d8:cb:8a:cf:f1:55
方法2を実装する1つの方法は次のとおりです。
$ sed 's/ .\(DUP: .*\)$//' < asx.txt | uniq -u
172.16.150.73 d8:cb:8a:cf:f1:5d Micro-Star INTL CO., LTD.
172.16.150.73 d8:cb:8a:cf:f1:55 Micro-Star INTL CO., LTD.