전체 글 59

[리눅스] 가장 간단한 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...

실무에서 사용하는 필수 리눅스 명령어 모음

IT 엔지니어 6년차로 서버 관리자가 아닌 사용자 입장에서 가장 많이 사용하는 명령어들을 모아봤다. 각 명령어의 설명은 초보자가 이해하기 쉽게 간단하게 작성했고, 상세 설명은 생략한다. 명령어에 자주 사용하는 옵션에 대한 설명도 추가해 봤다. ※이거 모르면 리눅스 사용 불가능 ls -l : 현재 디렉터리의 상세 내용을 확인 - ls -lrt : 파일시간-내림차순으로 나열 - ls -alrt : 숨김파일까지 나열 pwd : 현재 디렉터리 확인 cd A : 작업 디렉터리를 A로 변경 - cd ~ : 홈 디렉터리로 - cd - : 이전 디렉터리로 mv A B : A를 B로 이동 cp A B : A를 B로 복사 - cp -r A B : 디렉터리 복사 rm A : A 삭제 - rm -rf A : 디렉터리 포함 삭..

리눅스에서 자바 스택트레이스 로그파일 여러줄 검색 및 특정패턴 제외 방법

오류로그를 분석하다가 다음과 같은 상황에 부딪혔다. 오류가 너무 많이 쌓여서 로그파일의 용량이 매우 큼 일반적인 stack trace 로그파일로 오류가 발생한 지점에 '...' 라인이 입력되고, 오류에 대한 간단한 설명은 그 윗줄에 표시되므로 오류를 찾기위해서는 '__Exception' 패턴을 검색하지만 오류 내용을 구분하기 위해서는 그 윗줄을 같이 참고해야 함 로그들을 대충 훑어보니 99%는 크게 중요하지않은 반복오류인 것 같은데 그 외에 의미있는 오류가 섞여있는지 확인이 필요 일일히 오류들을 눈으로 확인하기에는 양이 너무 많아서 빠른 검색을 위한 코드작성이 필요 다양한 환경에서도 사용할 수 있도록 기본적이고 범용적인 코드만 사용 사용할 명령어, 옵션, 정규표현식은 아래와 같다. 명령어 grep mor..

테크니컬라이터가 되려면 무엇을 공부해야 할까?

위 질문에 답하기 위해서 미국 카네기 멜런 대학교의 테크니컬커뮤니케이션 전공과목을 가져와 봤다. 우리나라도 하루빨리 테크니컬커뮤니케이션에 대한 중요성을 깨닫고 대학교에서도 전공이 개설되면 좋겠다. (영어로 된 글을 파파고로 그대로 번역하여 오역이 있을 수 있다.) 수학 전제 조건 다음 중 하나 21-111 미적분 I 21-112 미적분 II 21-120 미분학 21-127 수학의 개념 통계 필수 조건 36-200 데이터 추론 컴퓨터 과학 필수 조건 15-110 컴퓨팅의 원리 15-112 프로그래밍과 컴퓨터 과학의 기초 양식 요구 사항에 대한 부서 핵심 조사(1개 코스, 9개 단위): 76-260 서식 조사: 픽션 76-261 형태조사: 창조적 논프티콘 76-262 형태조사: 논픽션 76-265 형태조사:..

테크니컬라이팅 작성언어, 작성도구 및 문서관리

처음 문서관리를 시작했을 때에는 주로 MS OFFICE 제품들을 사용했다. Word, Ppt, Excel 등으로도 충분히 원하는 문서를 만들고 pdf로 변환하여 관리할 수 있었다. 그러다가 전문적인 언어와 도구를 사용해야겠다고 느낀 이유는 크게 세가지이다. 통일성 문서변환 버전관리 처음 작성도구로 선택한 것은 웹환경에서 문서를 편집할 수 있는 WYSIWYG(What You See Is What You Get)방식의 tistory와 gitbook이였다. 인터넷에 글을 올리는 느낌이라 재미도 있고 편했지만 양식이 너무 제한적이고 공유를 위해서 문서로 변환하는 작업이 마음에 들지 않았다. tistory는 브라우저의 출력기능을 통해서 PDF로 변환했는데 메뉴나 tistory로고가 박혀서 좋지 않았고 gitboo..

웹서버(WAS)에 TLS(SSL)인증서 적용

인증서를 발급 받을 때 보통 웹서버 종류별로 설치 가이드문서를 제공하고 구글링을 통해서도 정보를 쉽게 얻을 수 있다. 하지만 TLS인증서에 대한 개념과 keystore에 대한 개념이 부족한 상태로 작업 시 이해가 어려울 수 있으므로 기본적인 배경지식이 필요하다. SSL이란? TLS란? HTTPS란? SSL이란 인터넷에서 정보를 암호화해서 송수신하는 프로토콜로 SSL 3.0을 참고하여 표준화 된 것이 TLS이다. (TLS 1.0 = SSL v3.1) 이 TLS를 HTTP에 적용한 것이 HTTPS이다. TLS인증서 발급 인터넷에 TLS인증서나 keystore를 검색해보면 openssl이나 keytool을 통해서 개인키와 서버인증서를 직접 신청하고 생성하는 절차가 많이 나온다. 서버인증서의 발급은 보통 유료이..