본문 바로가기

전체 글

(56)
[IT] VirtualBox (Oracle VM) 네트워크 설정 방법 가상머신(VM)으로 가장 많이 사용하는 프로그램 중 하나로 Oracle사의 VirtualBox가 있다. 그리고 VirtualBox를 통해서 가상시스템 생성 후 제일 처음으로 골치를 썩히는게 바로 네트워크 설정일 것이다. 오늘은 두 가지 방법의 네트워크 설정에 대해서 알아보려고 한다. 호스트전용어댑터 NAT네트워트 이 두개의 네트워크 설정에 대한 장단점은 극명하다. 호스트 전용 어댑터는 빠르고 쉽게 사용할 수 있으나 말 그대로 호스트 전용으로 외부에서 접근이 불가능 하다. NAT 네트워크는 설정이 조금 번거로운 대신에 실제 환경을 구축하듯이 포트포워딩을 통해서 외부에서 접근도 가능하게 할 수 있다. 먼저, 호스트 전용 어댑터에 대해서 알아보자 호스트 전용 어댑터 설정 가상시스템 우클릭 > 설정 2. 네트워..
[IT] Telnet의 전송키는 Enter키가 아니다? (Not Enter But Ctrl+D?) 네트워크 방화벽, 연결상태 확인을 위해서 가장 많이 쓰는 명령어 중 하나가 Telnet이다. 그리고 Telnet을 사용해서 연결 테스트뿐만 아니라 데이터의 송수신도 할 수 있는데, 이 때 많은 사람들이 보통 데이터를 입력한 후 Enter키를 입력해서 전송을 실행하고 크게 문제없이 사용했을 수도 있다. 하지만 조금 더 정확한 테스트르 위해서는 Enter키가 아닌 반드시 Ctrl+D 예약키를 사용하는 것이 맞다. 그럼 왜 그런지 tcpdump와 수신프로그램의 java stacktrace log를 통해서 실제 동작의 차이를 확인해 보겠다. 먼저 tcpdump 분석 결과부터 확인해 보자. TCP DUMP 전송 시 Enter 키 사용 송신 (telnet / 34Byte 데이터 두 번 전송) $ telnet 10...
[리눅스] TCP 소켓 통신 테스트 명령어 nc(ncat) 사용법 리눅스에서 소캣 통신 테스트를 위한 도구로 ncat(줄여서 nc)을 제공한다. (TCP, UDP) 혹시 설치가 필요하다면 yum install nc 등 을 통해서 설치 후 사용한다. nc는 소켓 통신에서 클라이언트 역할뿐만 아니라 -l 옵션을 통해서 서버 역할도 수행이 가능한데 오늘은 이 기능에 대해서 예제를 통해서 알아보려고 한다. 1. TCP 소켓 생성 후 접속 대기 nc -v -l -k IP PORT ex. $ nc -v -l -k 10.0.2.15 1111 Ncat: Listening on 10.0.2.15:1111 서버(IP : 10.0.2.15)에서 소켓(PORT : 1111) 생성 후 클라이언트의 접속을 기다린다. (LISTEN) 2. TCP 소켓 생성 후 다른 TCP 소켓에 접속 nc -v..
[리눅스] 가장 간단한 3가지 통신 테스트 방법 (telnet, curl, /dev/tcp) 리눅스 서버에서 어떤 서비스가 동작하고 있고, 해당하는 서비스의 포트가 listen 상태일 때 다른 서버에서 통신을 확인하는 가장 보편적이고 간단한 통신 테스트 방법 3가지를 소개하고자 한다. 1. telnet telnet IP PORT 연결 실패 시 $ telnet 10.0.2.16 9936 Trying 10.0.2.16... telnet: connect to address 10.0.2.16: Connection refused 연결 성공 시 $ telnet 10.0.2.16 9936 Trying 10.0.2.16... Connected to 10.0.2.16. Escape character is '^]'. 간혹 telnet이 설치되어 있지 않거나 보안상 telnet 명령어의 사용이 불가능한 경우 cur..
WebService란? 웹서비스란? 웹서비스란 뭘까? 아무 사전지식 없이 이걸 한 단어나 문장으로 표현하기란 쉽지 않다. 웹서비스를 알기 위해서는 먼저 아래 세가지 개념에 대해서 어느정도 알아야 한다. 웹서비스를 기준으로 각 개념이 어떤 의미를 갖는지 간단하게 설명해보면 아래와 같다. 1. UDDI : 웹서비스가 제공하는 정보를 저장하는 저장소 2. WSDL : 웹서비스가 제공하는 정보를 설명하는 문서 3. SOAP : 웹서비스가 제공하는 정보의 전송 방식 단어의 선택이 맞지 않을 수 있지만 문장의 의미는 통한다. 그럼 도대체 웹서비스란 뭘까? 이해를 돕는데 이미지만큼 좋은 방법은 없는 것 같아서 웹서비스의 구성을 간단하게 그림으로 표현해 봤다. 그림에 대해서 자세히 설명해보면, 서비스제공자와 서비스요청자는 서로 다른 컴퓨터이고 네트워크로..
[리눅스] 로그 파일에서 특정 시간대에 발생한 로그만 추출하는 방법 1. 로그 파일 용량이 너무 커서 파일 자체에서는 분석이 힘듦 2. 특정 시간대에 발생한 로그만 따로 추출하여 분석이 필요 1. grep -n "^\[#|2022-05-24 09:5[5-7]:[0-5][0-9]" test.log | cut -d':' -f1 > grep_number.log 2. sed -n '3190,3824p' test.log > sed_number.log or head -3824 test.log | tail -635 > head_tail_number.log grep명령어를 통해서 log파일에서 특정시간대가 포함된 행을 출력하고 행 번호만 알아낸다. 이 때 바로 해당 행만 출력할 경우 줄바꿈이 된 행들이 누락되므로 행의 시작과 끝번호를 알아낸 뒤 sed, head, tail 등의 명령어..
curl post json http telnet sftp 명령어 사용법 옵션 예제 CURL 지원 프로토콜 DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP TELNET TELNET 예제 curl -v 'telnet://[IP]:[PORT]' [user@host ~]$ curl -v telnet://10.0.2.16:8089 * About to connect() to 10.0.2.16 port 8089 (#0) * Trying 10.0.2.16... * Connected to 10.0.2.16 (10.0.2.16) port 8089 (#0) HTTP GET 예제 curl -v -X GET 'http..
SFTP? FTP? active mode? passive mode? SFTP SSH(Secure SHell)프로토콜을 사용하며 ftp와 비슷한 방식으로 데이터를 주고받는다. 동작 과정 client가 server의 22번 포트로 연결 요청 (client:????? -> server:22) client가 server의 22번 포트로 연결 후 데이터 주고 받음 사용 예 - CLIENT $ sftp 10.0.2.15 username@10.0.2.15's password: Connected to 10.0.2.15. sftp> get test.txt Fetching /home/username/test.txt to test.txt /home/username/test.txt 100% 5 2.8KB/s 00:00 사용 예 - SERVER $ netstat -an | grep '10.0...