NMap 스캔을 위해 IP 범위와 개별 IP를 지정할 수 있다는 것을 잘 알고 있습니다. 그런데, IP를 지정하지 않고 내가 연결된 LAN을 스캔할 수 있는 명령어가 있는지 알고 싶습니다.
상황에 따라 일부 LAN에는 192.168.0.1이 있고 다른 LAN에는 192.168.10.1이 있습니다. 저는 NMap이 이 요소를 자동으로 인식하고 이를 기반으로 스캔을 실행하도록 하는 방법을 찾고 있습니다.
가능합니까?
답변1
다음 명령을 사용하여 이 작업을 수행할 수 있습니다 ip a
.
nmap `ip a | grep "inet " | grep -v 127.0.0.1| sed -re 's/^[[:blank:]]+|[[:blank:]]+$//g' -e 's/[[:blank:]]+/ /g' | cut -d" " -f2`
하위 도메인 마스크로 IP 주소를 얻어 매개변수로 사용합니다. nmap
필요한 경우 추가 매개변수를 추가해야 합니다.
답변2
ifconfig
및 예제 awk
스크립트를 사용하여 형식을 IP/접두사로 설정할 수 있습니다 . 명령은 다음과 유사합니다.
ifconfig | awk -F'[ :]' -f f
f
파일 위치는 다음과 같습니다.
function cnt(N){
c = 0
for(i=0; i<8; ++i) if(and(2**i, N)) ++c
return c
}
function s2p(mask) {
split(mask, v, ".")
return cnt(v[1]) + cnt(v[2]) + cnt(v[3]) + cnt(v[4])
}
/inet/ && !/127.0.0.1/ {print $3"/"s2p($6)}
이 함수는 단순히 넷마스크의 awk
수량을 계산합니다.1