# nc [Option] [Target_host] [Ports]
옵 션 | 설 명 |
---|---|
-e | -e [execute_filename] -DGAPING_SECURITY_HOLE 옵션으로 Make 되었을 때 사용가능하다. connection이 이루어졌을 때 file을 실행시킨다. -l 옵션과 같이 사용되면 한 instance 만을 사용하는 inetd와 비슷하다. |
-g | I Gateway. source-routing hop point[s]를 8씩 증가 |
-G | num. source-routing point를 4, 8, 12 .. 4씩 증가 |
-i | -i [interval time(seconds)] nc는 일반적으로 8K씩 데이터를 보내고 받는데, 그렇게 Standard input의 한 라인씩 interval time 마다 보내게 된다. |
-l | listen 모드로 nc을 띠우게 된다. 당연히 target host는 입력하지 않는다. -p와 같이 사용하게 된다. nc를 server 로서 쓸때 사용. |
-n | not DNS. DNS name을 사용하지 않는다. 호스트 네임과 포트를 숫자로만 입력 받는다. |
-o | -o filename. 보내거나 받은 데이터를 헥스덤프하여 파일에 저장한다. |
-p | -p [port number or name] local-port 를 지정한다. 주로 -l 과 같이 사용하게 된다. |
-r | random port. port 지정이 여러개로 되어 있으면 이때 scanning 순서를 임의지정(randomize)하고 (일반적으로 범위로 지정하면 높은 번호의 포트부터 스캔한다) 또한 -p 옵션에서 지정가능한 local port도 임의지정(randomize) 합니다. 이때 주의 할 것은 -p가 -r을 override 한다는 것입니다. |
-s | -s [ip address or DNS] local의 ip와 dns를 지원한다. 모든 플렛폼에서 지원되지는 않는다. |
-t | -DTELNET 옵션으로 컴파일 되었을 때 사용가능하다. telnetd에 접속이 가능하도록 접속시 telnet과 같은 협상과정을 거친다. |
-u | TCP connection 대신에 UDP connection 이 이루어 진다. |
-v | Verbose. 자세한 설명 모드 |
-w | timeout. 마지막으로 읽고 난 후 종료할 시간을 정한다. |
-z | zero-I/O mode. connection을 이루기 위한 최소한의 데이터 외에는 보내지 않도록 하는 옵션. 스캐닝시 많이 쓰임 |
port 지정이 여러개로 되어 있으면 이때 scanning 순서를 randomize하고 (일반적으로 범위로 지정하면 높은 번호의 포트부터 스캔한다) 또한 -p 옵션에서 지정가능한 local port도 randomize 합니다. 이때 주의 할 것은 -p가 -r을 override 한다는 것입니다.
c:\> nc -L -d -e c:\winnt\system32\cmd.exe -p 8080
$ mkfifo /tmp/pipe; nc -l -p 8080 < /tmp/pipe | /bin/bash > /tmp/pipe
v1rus ~ # nc -l -n -v -p 88 listening on [any] 88 ... connect to [165.246.43.109] from (UNKNOWN) [58.224.135.86] 3710
$ nc -l 9000 > foo.txt
버젼이 낮을 경우
$ nc -l -p 9000 > foo.txt
$ nc 111.111.111.111 9000 < foo.txt
$ nc -l 9000 | tar -xvz -f -
$ tar -cvz -f - directory | nc 111.111.111.111 9000
#nc -l -p 1234 | uncompress -c | tar xvfp -
#tar -cfp - /some/dir | compress -c | nc -w 3 othermachine 1234