IP 주소, MAC 주소 및 IP 주소별로 정렬된 MAC 공급업체 목록을 제공하는 훌륭한 작업을 수행하는 이 명령이 있습니다.
sudo nmap -sn 192.168.103.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | sort -t . -k 4,4n
내가 해야 할 일은 두 번째와 세 번째 열 사이에 쉼표를 넣도록 awk print 문을 변경하는 것뿐입니다. 따라서 기본적으로 3개의 열이 있습니다. 열 1은 IP 주소, 열 2는 MAC 주소, 열 3은 MAC 공급업체 이름이고 모든 행은 IP 주소별로 정렬됩니다. 두 번째 열과 세 번째 열 사이의 쉼표를 제외하고 원하는 모든 것을 얻습니다. 이는 데이터베이스에 입력하기 위한 CSV 파일입니다.
답변1
간단한 해결책은 결과를 다른 awk로 파이프하는 것입니다.
nmap -sn 192.168.103.0/24 | \
awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print ","substr($0, index($0,$3)) }' | \
awk '{ print $1","$2" "$3" "$4" "$5" "$6 }' | tr -d '()' | sort -t . -k 4,4n
명령의 시작 부분은 방금 추가한 것과 동일합니다.awk '{ $1 인쇄","$2" "$3" "$4" "$5" "$6 }'두 번째 혼수상태 추가
그리고tr -d '()'여기에서 Mac 공급업체 주변의 브래킷을 제거하세요.