### Port Scanning - TCP ```bash nc -nvv -w 1 -z 192.168.50.152 3388-3390 ``` - `nc`: Netcat 명령어. 네트워크 연결, 포트 스캔, 파일 전송 등 다양한 작업에 사용됨. - `-n`: 호스트 이름을 DNS로 역조회하지 않고 IP 그대로 사용. - `-v`: verbose 모드 (더 자세한 출력) - `-vv`: verbose 레벨을 더 높임 (연결 상태를 더 자세히 출력) - `-w 1`: 연결 대기 시간을 1초로 설정 (타임아웃 설정) - `-z`: zero-I/O 모드 — 실제 데이터를 전송하지 않고 포트가 열려 있는지만 확인 (스캔 전용) - `192.168.50.152`: 스캔 대상 IP 주소 - `3388-3390`: 스캔할 포트 범위 ### Port Scanning - UDP ```bash nc -nv -u -z -w 1 192.168.50.149 120-123 ``` --- |옵션|설명|예시| |---|---|---| |`-l`|**리슨(listen) 모드**로 사용, 서버처럼 대기|`nc -l 1234` → 포트 1234에서 연결 대기| |`-p <포트>`|리슨 모드 또는 로컬 포트 지정|`nc -l -p 1234`| |`-e <프로그램>`|연결되면 특정 프로그램 실행 (shell 등) → **보안상 매우 위험**|`nc -l -p 1234 -e /bin/bash`| |`-v`|**verbose 모드**, 진행 상황 표시|`nc -v 192.168.0.5 80`| |`-vv`|더 자세한 verbose|`nc -vv 192.168.0.5 80`| |`-n`|**DNS 조회 안 함**, IP 주소만 사용|`nc -n 192.168.0.5 80`| |`-u`|**UDP 모드** 사용|`nc -u 192.168.0.5 53`| |`-z`|**포트 스캔 모드** (데이터 전송 없이 포트 상태 확인)|`nc -zv 192.168.0.5 20-25`| |`-w <초>`|연결/읽기 타임아웃 지정|`nc -w 5 192.168.0.5 80`| |`-4`|IPv4 사용 강제|`nc -4 192.168.0.5 80`| |`-6`|IPv6 사용 강제|`nc -6 fe80::1 80`| |`-q <초>`|EOF 후 연결 종료 대기 시간|`nc -q 2 192.168.0.5 1234`|