사용자 도구

사이트 도구


application:netcat

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
application:netcat [2007/12/01 04:08]
222.238.62.180
application:netcat [2015/06/24 11:07] (현재)
starlits [데이터 전송하기]
줄 16: 줄 16:
 ==== 명령어 ==== ==== 명령어 ====
 <code bash> # nc [Option] [Target_host] [Ports] </code> <code bash> # nc [Option] [Target_host] [Ports] </code>
 +
  
 ==== Option ==== ==== Option ====
 ^ 옵  션 ^ 설     명 ^ ^ 옵  션 ^ 설     명 ^
-^ -e | command. \\ connection이 이루어졌을 때 file을 실행시킨다. \\ -l 옵션과 같이 사용되면 한 instance 만을 사용하는 inetd와 비슷하다.  |+^ -e | -e [execute_filename] \\ -DGAPING_SECURITY_HOLE 옵션으로 Make 되었을 때 사용가능하다. \\ connection이 이루어졌을 때 file을 실행시킨다. \\ -l 옵션과 같이 사용되면 한 instance 만을 사용하는 inetd와 비슷하다.  |
 ^ -g | I Gateway. \\ source-routing hop point[s]를 8씩 증가  | ^ -g | I Gateway. \\ source-routing hop point[s]를 8씩 증가  |
 ^ -G | num. source-routing point를 4, 8, 12 .. 4씩 증가  | ^ -G | num. source-routing point를 4, 8, 12 .. 4씩 증가  |
-^ -i | seconds\\ nc는 일반적으로 8K씩 데이터를 보내고 받는데, \\ 그렇게 Standard input의 한 라인씩 interval time 마다 보내게 된다. +^ -i | -i [interval time(seconds)] \\ nc는 일반적으로 8K씩 데이터를 보내고 받는데, \\ 그렇게 Standard input의 한 라인씩 interval time 마다 보내게 된다. 
-^ -l | listen. listening 모드이다.  |+^ -l | listen 모드로 nc을 띠우게 된다. \\ 당연히 target host는 입력하지 않는다. \\ -p와 같이 사용하게 된다. \\ nc를 server 로서 쓸때 사용. |
 ^ -n | not DNS. \\ DNS name을 사용하지 않는다. \\ 호스트 네임과 포트를 숫자로만 입력 받는다.  | ^ -n | not DNS. \\ DNS name을 사용하지 않는다. \\ 호스트 네임과 포트를 숫자로만 입력 받는다.  |
-^ -o | filename. \\ 보내거나 받은 데이터를 저장한 파일 이름으로 파일에 저장한다.  +^ -o | -o filename. \\ 보내거나 받은 데이터를 헥스덤프하여 파일에 저장한다.   
-^ -p | port. 포트지정  +^ -p | -p [port number or name] \\ local-port 를 지정한다. \\ 주로 -l 과 같이 사용하게 된다. 
-^ -r | random port. \\ port 지정이 여러 개로 되어 있으면 이 때 scanning 순서를 임의 지정하며, \\ 또한 -p 옵션에서 지정 가능한 local port도 임의 지정  +^ -r | random port. \\ port 지정이 여러개로 되어 있으면 이때 scanning 순서를 임의지정(randomize)고 \\ (일반적으로 범위로 지정하면 높은 번호의 포트부터 스캔한다) \\ 또한 -p 옵션에서 지정가능한 local port도 임의지정(randomize) 합니다. \\ 이때 주의 할 것은 -p가 -r을 override 한다는 것입니다. 
-^ -s | hostname/ip-address\\ local의 ip와 dns를 지원한다.  +^ -s | -s [ip address or DNS] \\ local의 ip와 dns를 지원한다. \\ 모든 플렛폼에서 지원되지는 않는다. 
-^ -t | telnetd. \\ telnetd에 접속이 가능하도록 접속시 telnet과 같은 과정을 거친다.  +^ -t | -DTELNET 옵션으로 컴파일 되었을 때 사용가능하다. \\ telnetd에 접속이 가능하도록 접속시 telnet과 같은 협상과정을 거친다.   
-^ -u | TCP 대신 UDP 프로토콜  |+^ -u | TCP connection 대신에 UDP connection 이 이루어 진다. |
 ^ -v | Verbose. \\ 자세한 설명 모드  | ^ -v | Verbose. \\ 자세한 설명 모드  |
 ^ -w | timeout. \\ 마지막으로 읽고 난 후 종료할 시간을 정한다.  | ^ -w | timeout. \\ 마지막으로 읽고 난 후 종료할 시간을 정한다.  |
 ^ -z | zero-I/O mode. \\ connection을 이루기 위한 최소한의 데이터 외에는 보내지 않도록 하는 옵션. \\ 스캐닝시 많이 쓰임  | ^ -z | zero-I/O mode. \\ connection을 이루기 위한 최소한의 데이터 외에는 보내지 않도록 하는 옵션. \\ 스캐닝시 많이 쓰임  |
-  
  
 +port 지정이 여러개로 되어 있으면 이때 scanning 순서를 randomize하고 (일반적으로 범위로 지정하면 높은 번호의 포트부터 스캔한다) 또한 -p 옵션에서 지정가능한 local port도 randomize 합니다. 이때 주의 할 것은 -p가 -r을 override 한다는 것입니다. 
  
 ===== 활용예제 ===== ===== 활용예제 =====
줄 56: 줄 57:
  
 ==== 데이터 전송하기 ==== ==== 데이터 전송하기 ====
-  Receiver <code> #nc -l -p 1234 | uncompress -c | tar xvfp - </code> +=== 예제 1 === 
-  - Sender <code> #tar -cfp - /some/dir | compress -c | nc -w 3 othermachine 1234 </code> +  받는서버(IP : 111.111.111.111) <code> 
- +nc -l 9000 > foo.txt 
 +</code> 버젼이 낮을 경우 <code> 
 +$ nc --p 9000 > foo.txt 
 +</code> 
 +  - 보내는서버 <code> 
 +nc 111.111.111.111 9000 < foo.txt 
 +</code>
  
 +=== 예제 2 ===
 +  - 받는서버(IP : 111.111.111.111) <code>
 +$ nc -l 9000 | tar -xvz -f -
 +</code>
 +  - 보내는서버 <code>
 +$ tar -cvz -f - directory | nc 111.111.111.111 9000
 +</code>
  
 +=== 예제 3 ===
 +  - Receiver <code> #nc -l -p 1234 | uncompress -c | tar xvfp - </code>
 +  - Sender <code> #tar -cfp - /some/dir | compress -c | nc -w 3 othermachine 1234 </code>
 +===== ETC =====
 +  - {{:application:2011_netcat참고서_v1.pdf| netcat 참고서}}
  
application/netcat.1196449732.txt.gz · 마지막으로 수정됨: 2007/12/01 04:08 저자 222.238.62.180