nc 명령은 NetCat 의 약자로 네트워크를 통해 cat 을 수행할 수 있다의 의미입니다. 일반적으로 내 PC 내의 파일(로컬 환경)을 읽고 화면에 출력하는데 사용하는 명령이 cat 인데 netcat 이라고 이름을 붙인데는 상대방 쪽의 파일을 내 쪽에서 간편하게 읽어들일 수 있다 정도의 의미로 받아들이면 되겠습니다. telnet, ssh 는 사용자 인증(계정확인)을 통해 해당 아이디의 bash 환경 접속을 허용해주는데 비해, nc 는 간단한 메세지 통신, 파일 전송 등에 최적화 되어 있습니다. 리눅스 종류에 따라서 nc가 기본 프로그램으로 설치되어 있지 않을 수도 있습니다. 이때는 yum 이나 apt-get 명령을 통해 간단히 설치할 수 있습니다. nc 는 tcp, udp 통신을 모두 지원하고 포트단위..
리눅스 vim 을 이용하면서 기본으로 반영할만한 설정들입니다. 사용자 홈 디렉토리(~) 밑에 .vimrc 파일에 내용을 입력해주면 vim 을 불러올때마다 자동 반영해줍니다. if has("syntax") syntax on endif set hlsearch set nu set autoindent set cindent set ts=2 set sts=2 set shiftwidth=2 set laststatus=2 set showmatch set smarttab set smartindent set ruler set incsearch set smartcase 탭간격은 개인적으로 4보다 2가 편해서 조정했습니다. 설정 각각의 의미는 아래 링크를 참고하면 되겠습니다. https://hyoje420.tistory.co..
1. tar.gz 또는 tgz tar 로 묶은 파일에 gzip 압축을 한번 더 하는 개념 실제로 tar 한뒤에 gzip 명령을 수행해도 되고 처음부터 tar 에서 옵션으로 gz 파일을 만들어도 된다. 압축률과 CPU 사용률은 적정한 편이다. tar 압축방식에 z옵션을 추가해서 tar -zcvf [파일명] [압축대상] 으로 한번에 만들거나 (z 옵션은 꼭 옵션 처음에 위치해야 한다) tar -cvf [파일명] [압축대상] gzip [파일명] 식으로 나눠서 작업가능하다 압축풀기도 기존 방식의 역순이다. tar 압축 풀기 방식에 z옵션을 추가해서 tar -zxvf [파일명] 이나 tar -zxvf [파일명] -C [압축풀 경로] 으로 한번에 풀거나 (z 옵션은 처음에 들어가야 한다.) gunzip [파일명] ..
1. tar 파일을 실제 압축하는게 아니라 여러개 파일을 하나로 묶는 개념으로, 압축속도가 매우 빠르고, cpu 부하가 거의 없으나 실제 용량이 줄어드는 것도 거의 없다. 리눅스 환경에서 일반적으로 많이 사용된다. 다양한 옵션이 제공되며 아래 명령어를 기본으로 사용한다. - 압축하기 : tar -cvf [파일명.tar] [대상파일 또는 폴더] - 압축풀기 : tar -xvf [파일명.tar] - 경로지정하여 압축풀기 : tar -xvf [파일명.tar] -C [경로명] 압축관련 옵션 키워드의 의미 c : create file v : view file list f : file as archives x : extract C : change to directory 매뉴얼대로의 정확한 설명은 아니지만, 의미는 ..
tr 명령어는 특정 문자열 세트를 변환하거나 삭제해주는 명령어입니다. 문자열을 다음어 주는데 유용하게 사용할 수 있습니다. 기본적인 사용법은 help 에서 알 수 있듯 "tr [옵션] 문자열세트" 식으로 사용하면 됩니다. 간단하게 사용해봅시다. 1. tr - d [삭제할 문자셋] 해당 명령어를 실행하면 표준입력을 기다립니다. tr - d " " 를 실행한 상태에서 문자열 "hello world" 를 입력하니 실제 공백을 제거한 문자열을 리턴해줍니다. 프로그램은 ctrl + d 로 정상종료 시켜줍니다. 문자셋은 말그대로 set 입니다. 한 글자뿐만 아니라, 여러 문자집합, 범위 문자 등 다양한 문자 세트를 할당해줄 수 있습니다. 다른 명령어와 마찬가지로 echo "문자열" | tr [옵션] [문자세트] 형..
strings 는 바이너리 파일 내에서 원하는 문자열을 찾아주는 명령입니다. 보통 바이너리 파일들은 그 내용을 확인하기 힘들지만 원본 데이터가 아스키 코드값을 가지면 실제 바이너리 안에서도 일반 텍스트문서처럼 표기가 됩니다. 아래 사용 예제를 참고하세요 현재 디렉토리의 파일 리스트를 살펴보니 용량이 제법 되는 data.txt 가 있습니다. less 로 살펴봅시다. 실제로 바이너리 파일이라 읽을 수 없는 문자들이 뒤엉켜 있습니다. 이러한 상황은 strings 를 이용하면 손쉽게 해결할 수 있습니다. strings data.txt 를 실행해봅시다. data.txt 는 바이너리 파일이지만 그 중 문자열로 표시 가능한 부분만 출력이 되었습니다. 문제 가이드 대로 "=" 표시가 붙은 부분이 있습니다. 특정 문자열..
less 는 cat 과 같이 파일의 내용을 읽는 명령어 입니다. cat 은 파일의 내용이 많으면 이전 내용을 찾기 위해 스크롤을 위로 올려야 하지만 less 는 한번에 모든 내용이 출력되는게 아니라 페이지 단위로 내용을 확인하고, 키보드 방향키나, vi 식 페이지 이동 명령을 통해 이전 내용을 확인할 수 있습니다. 페이지 단위로 내용을 확인할 수 있는 건 more 와 유사하지만 less 는 각종 옵션 또는 찾기, 이동 등의 커맨드를 지원하고 more 는 그렇지 않습니다. less 에서 간단하고 편하게 쓸만한 옵션은 다음과 같습니다. 아래쪽 화살표 또는 j 위쪽 화살표 또는 k 왼쪽 화살표 또는 h 오른쪽 화사표 또는 l /[문자열] 은 찾기, 찾은 다음 다음토큰은 n, 이전 토큰은 N ctrl f 또는 ..
grep은 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어입니다. 리눅스에서 가장 많이, 또 가장 유용하게 사용되는 명령어 중 하나입니다. grep 은 기본 사용법을 알아봅시다. 1. grep [패턴] [파일명] 특정 패턴을 기준으로 파일내용을 검색합니다. 패턴이 포함되는 라인(line)을 출력해줍니다. /etc/passwd 파일에서 root 패턴을 찾으면 root 문자열이 포함된 line을 찾아주고 /etc/passwd 파일에서 ro 패턴을 찾으면 ro 문자열이 포함된 line을 찾아줍니다. ro 패턴으로 검색하면 당연히 root 도 포함됩니다. 2. grep [패턴] [복수 파일명] /var/log/ 에 아래와 같이 순차적으로 작성된 로그파일이 있을때 * 를 사용하면 grep 으로 복수 파..
- Total
- Today
- Yesterday
- tar
- SSL
- gz
- Encode
- Linux
- solution
- bz2
- OpenSSL
- 웹보안
- natas7
- BASE64
- 리눅스
- OverTheWire
- tr
- Bandit
- 풀이
- nc
- Strings
- over the wire
- 압축파일
- ssh
- X32
- Natas
- find
- HTTPS
- 32bit
- 웹보안공부
- grep
- 리터럴
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |