파일에 새 데이터를 추가하려면 어떻게 해야 합니까?

파일에 새 데이터를 추가하려면 어떻게 해야 합니까?

그래서! 출력을 파일에 저장하는 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.txtnmap에는 이미 옵션이 있으므로 파일 리디렉션( )을 수행할 필요가 없습니다 -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까지인 소규모 네트워크를 검색한다고 가정).

보다:Nmap 참조 가이드 - 대상 사양

관련 정보