VM를 활용한 FTP소켓 통신 - 2
python

VM를 활용한 FTP소켓 통신 - 2

연구소 인턴 2023. 7. 28.

목차

300x250
반응형

<실습>

가상환경이 아닌 윈도우에 와서 Python에서 실행을 해봅시다.

 

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

import socket
s=socket.socket()
s.connect(("192.168.187.137",21)) # "접속할 IP", Port번호
s.recv(1024).decode() #1024는 받을 크기입니다.
s.send("USER anonymous".encode()) # ID
s.recv(1024).decode()
s.send("PASS anonymous".encode()) # PW
s.recv(1024).decode()
s.send("PORT 192,168,187,1,25,25".encode()) #포트를 여는 방식인데, 라우터에 대한 포트를 열어야한다.
s.send("LIST".encode())
s.recv(1024).decode()

각각 Python shell에서 실행을 해봅시다.

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

이렇게 나오면 성공입니다.

다시 가상환경에 있는 Win7으로 돌아가서 메모장을 실행시킨 다음

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

메모장을 하나 만들어 줍니다.

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

가상환경이 아닌 윈도우로 돌아와서 똑같이 파일을 만들어 줍니다.

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

python을 실행시켜준 다음 소스 코드를 실행시킵니다.

# -*- coding: utf-8 -*-
from ftplib import FTP
ftp=FTP("192.168.187.141")
print("배너 : ",ftp.getwelcome()) # 배너 출력
print("로그인 : ",ftp.login()) # 로그인
print("리스트 : ",ftp.retrlines('LIST')) # 리스트 출력
print(ftp.retrbinary('RETR download.txt',open('download.txt','wb').write))

정상적으로 실행되는 것을 볼 수 있으며, 바탕화면에 다운로드가 된 것을 확인 할 수 있습니다.

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>
VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>
VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

다음은 가상환경에 업로드를 시켜봅시다.

# -*- coding: utf-8 -*-
from ftplib import FTP
ftp=FTP("192.168.187.141")
print("배너 : ",ftp.getwelcome()) # 배너 출력
print("로그인 : ",ftp.login()) # 로그인
print("리스트 : ",ftp.retrlines('LIST')) # 리스트 출력
print(ftp.storbinary('STOR upload.txt',open('upload.txt','rb')))

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

정상적으로 실행된 것을 볼 수 있으며, 가상환경에 돌아가서 보면!!

VM를 활용한 FTP소켓 통신 - 2 - undefined - <실습>

성공적으로 된 것을 확인할 수 있습니다.

300x250
반응형

댓글