ex) nc -v 127.0.0.1 1234
#네트워크 Sour/Dest 간 port open 여부 확인 방법
- 아래 명령어를 통해 basic client/server model을 만들기 위해, netcat의 listening을 시작한다.
Server side:
$ nc -l 1234
Client side:
$ nc -v 127.0.0.1 1234
Result:
Connection to 127.0.0.1 1234 port [tcp/*] succeeded!
# 예제
$ nc -zv host.example.com 20-30
Connection to host.example.com 22 port [tcp/ssh] succeeded!
Connection to host.example.com 25 port [tcp/smtp] succeeded!
the source port, with a timeout of 5 seconds:
$ nc -p 31337 -w 5 host.example.com 42
Open a UDP connection to port 53 of host.example.com:
$ nc -u host.example.com 53
Open a TCP connection to port 42 of host.example.com using 10.1.2.3 as
the IP for the local end of the connection:
$ nc -s 10.1.2.3 host.example.com 42
#응용1: 위와 같이 서버를 생성하고, 클라이언트에서 접속 후 text를 쓸수 있음.
Server side:
$ nc -l 1234 > filename.out
Client side:
$ nc -v 127.0.0.1 1234
Connection to 127.0.0.1 1234 port [tcp/*] succeeded!
a
^C
Result:
$ cat filename.out
a
$
#응용2: 특정 IP에 port 범위를 지정하고 scan할 수 있음
$ echo "QUIT" | nc -v 127.0.0.1 20-30
$ nc -v 127.0.0.1 20-30
$ nc -v -w 1 127.0.0.1 20-30 (1sec 단위)
$ nc -v -w 1 192.168.0.44 400-500 | grep succeeded (open된 port만 보여주기)
#응용2: 특정 IP에 port 범위를 지정하고 scan할 수 있음
$ echo "QUIT" | nc -v 127.0.0.1 20-30
$ nc -v 127.0.0.1 20-30
$ nc -v -w 1 127.0.0.1 20-30 (1sec 단위)
$ nc -v -w 1 192.168.0.44 400-500 | grep succeeded (open된 port만 보여주기)