그래서! 출력을 파일에 저장하는 nmap 스캔이 있습니다.nmapscan.txt:
sudo nmap -sP 192.168.1* > nmapscan.txt
또한 원하는 모든 출력을 정리하고 하나의 파일에 저장하는 몇 가지 다른 명령도 있습니다.라이브호스트.txt:
cat ./temp/nmapscan.txt | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' > ./temp/macaddresses.txt
Mac 주소를 저장합니다. 그리고:
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' ./temp/nmapscan.txt > ./temp/ipaddresses.txt
IP 주소를 저장합니다. 그리고:
cat ./temp/nmapscan.txt | grep -o -P '(?<=for).*(?=.attlocal)' > ./temp/hostnames1.txt
호스트 이름을 저장합니다. 그리고:
cut -d' ' -f 2 ./temp/hostnames1.txt > ./temp/hostnames2.txt
호스트 이름을 정리하기 위해 수행한 작업입니다(죄송합니다. 원본 게시물에 포함하는 것을 잊어버렸습니다)... 그리고:
cut -d' ' -f 1 ./temp/hostnames2.txt | paste ./temp/macaddresses.txt ./temp/ipaddresses.txt - > ./temp/livehosts.txt
.. 원하는 데이터를 결합하고 다음과 같이 표시하는 최종 제품입니다.
xx:xx:xx:xx:xx:xx 192.168.1.1 Netgear
xx:xx:xx:xx:xx:xx 192.168.1.111 John's Toilet Cam
다시 스캔하고 쓰고 싶습니다.라이브호스트.txt파일이 다소 업데이트될 수 있습니다. 스캔을 수행하고 다시 쓰기만 하면 파일을 덮어쓰게 됩니다. 그리고 모든 장치가 서로 다른 시간에 연결되는 것은 아닙니다.
난 노력 했어:
>>
하지만 이는 이미 파일에 있는 데이터를 두 배로 늘리는 것입니다.
데이터를 두 배로 늘리고 반복되는 데이터를 잘라낸 다음 새 파일에 쓰는 것이 가장 좋은 방법일까요?
이 일을 어떻게 하시겠습니까? 감사해요!
답변1
불필요한 조작이 너무 많습니다.
우선 -oG
옵션(grepable 형식)을 사용하세요. 이렇게 하면 작업이 더 쉬워질 것입니다. 원천:Nmap 참조 가이드 - 출력. 그리고 > nmapscan.txt
nmap에는 이미 옵션이 있으므로 파일 리디렉션( )을 수행할 필요가 없습니다 -oN
. 파일에 기록할 수 있지만 여전히 콘솔에 출력이 있습니다.
귀하의 대상 사양이 합법적인지 확실하지 않습니다.
nmap -sP 192.168.1*
어쩌면 nmap
올바르게 해석했을 수도 있습니다. AFAIK는 유효한 구문이 아닙니다.
대신 192.168.1.0/24
또는를 사용하십시오 192.168.1.1-255
(주소가 192.168.1.0부터 192.168.1.255까지인 소규모 네트워크를 검색한다고 가정).