YJWANG

[Golang] 네트워크에서 사용하는 IP , 미사용 IP 확인하기 - scanip 본문

90.Programming

[Golang] 네트워크에서 사용하는 IP , 미사용 IP 확인하기 - scanip

왕영주 2021. 5. 10. 15:03

소개


작업하거나 관리하다보면 어떤 IP가 사용 중인지 사용 중이지 않은지 확인하고 싶은 경우가 있는데
여러 옵션 없이 간단하게 사용할 수 있는 프로그램이 없는 것 같아 직접 만들어보았습니다.

ICMP 패킷 응답 기반으로 사용 유무를 판단하니 상황에 따라 정상 동작하지 않을 수 있습니다.
또한 socket을 열어서 사용해야하니 root계정 및 권한으로 실행 하시기 바랍니다.

https://github.com/YoungjuWang/scanip

리눅스 환경에선 scanip 파일만 가져다가 사용하시면 되지만 Windows에선 따로 컴파일을 해야합니다. 시간이 나면 Windows Compile한 파일도 올려놓겠습니다.

Download / Installation

# wget https://raw.githubusercontent.com/YoungjuWang/scanip/master/scanip/scanip
# chmod +x scanip; mv scanip /usr/local/bin/

Help


# scanip --help
Using ICMP. Check used/unused ip addresses. If your system block ICMP packet, "scanip" cannot work well

Usage:
  scanip [flags]

Examples:
scanip -c 192.168.0.0/24

Flags:
  -a, --all           Print all addresses (default true)
  -c, --cidr string   Network CIDR (required)
  -h, --help          help for scanip
  -x, --unused        Print unused addresses
  -o, --used          Print used addresses

All list of Address usgae state


$ sudo scanip -c 172.16.20.0/24

IP_Address              Used
=================================
172.16.20.0        Network Address
172.16.20.1             O
172.16.20.2             O
172.16.20.3             X
172.16.20.4             O
172.16.20.5             X
172.16.20.6             X
172.16.20.7             X
172.16.20.8             X
172.16.20.9             X
172.16.20.10            O
172.16.20.11            X
(...)

Get only used/unused addresses


used

sudo scanip -c 172.16.20.0/24 -o
IP_Address              Used
=================================
172.16.20.0        Network Address
172.16.20.1             O
172.16.20.2             O
172.16.20.4             O
172.16.20.10            O
172.16.20.15            O
172.16.20.16            O
(...)
172.16.20.255        Broadcast Address

unused

sudo scanip -c 172.16.20.0/24 -x
IP_Address              Used
=================================
172.16.20.3             X
172.16.20.5             X
(...)
반응형