본문 바로가기

반응형

IT/리눅스

리눅스, USB에 장치가 연결되었는지 검사하기(libusb 사용, 블루투스 동글 등) libusb 라이브러리를 이용하여 usb에 연결된 장치를 검사하는 방법이다. 1. libusb 소스 빌드 https://libusb.info/ libusb Overview libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provi libusb.info 위사이트에서 libusb-1.0.26 소스를 내려받아 다음과 같이 빌드하고 .. 더보기
파일 전송 프로토콜 개념과 유용한 프로그램(filezilla, winscp, cyberduck) 파일 전송 프로토콜(File Transfer Protocol, FTP)은 컴퓨터 네트워크 상에서 파일을 전송하기 위해 사용되는 프로토콜입니다. 기본적으로 클라이언트-서버 모델을 기반으로 작동하며, 클라이언트가 서버로부터 파일을 업로드하거나 서버로부터 파일을 다운로드하는 데 사용됩니다. 일반적으로 파일 공유, 웹 호스팅, 소프트웨어 업데이트, 서버 백업 등 다양한 용도로 사용되고 있으며 FTP를 사용하여 파일을 전송하려면 FTP 클라이언트 소프트웨어가 필요하며, 일반적으로 FTP 서버에 접속하여 파일을 전송합니다. 일반적인 파일전송 클라이언트 프로그램을 보면 일반적으로 몇가지 전송 프로토콜을 지원하고 있는데 주로 ftp, sftp, scp를 제공합니다. 각각을 간단히 설명하면 다음과 같습니다. 1. FTP.. 더보기
우분투 패키지 찾기, 설치없이 다운로드 하기(수동 설치, dpkg 사용법) 개발을 하다보면 가끔 인터넷이 되지 않는 환경(외부망과 분리)에서 서버를 구축해야하는 경우가 있습니다. apt나 yum으로 항상 설치를 하는데 익숙하다 보니 인터넷이 안되면 난감합니다. 이럴때 미리 설치할 패키지를 다 준비해 놓았다가 설치하는 방법을 사용하게 됩니다. 그럼 미리 패키지를 다운로드 받아 놔야겠죠?? 여기서는 usb 디바이스의 목록을 보기위한 lsusb 명령을 제공하는 usbutils 패키지를 준비하고 설치하는 과정으로 설명합니다. 1. 패키지 검색 먼저 repo에 패키지가 있는지 검색해보면 목록이 보입니다. > apt-cache search usbutils usbutils - Linux USB utilities 2. 패키지 다운로드 여기서 설치해버리지말고 다운로드만 받아보겠습니다. > ap.. 더보기
DNS 서버란 무엇인가? 알려진 DNS 서버들(네임서버) DNS 서버는 'Domain Name System’의 약자로, 인터넷에서 도메인 이름을 IP 주소로 변환하는 역할을 합니다 하지만 IP 주소는 일련의 숫자로 이루어져 있어 사람이 기억하기 어렵습니다 (xxx.xxx.xxx.xxx) DNS 서버는 사람이 쉽게 기억할 수 있는 도메인 이름(예를 들면 www.google.com) 을 해당하는 IP 주소로 변환하여 사용자가 원하는 웹사이트에 접속할 수 있도록 합니다. 사실 DNS는 하나의 서버라기 보다는 계층 구조를 갖는 엄청나게 많은 서버들의 집합이라고 보는것이 맞습니다. 일반적으로는 SK, LG, KT 등 사용자의 인터넷 서비스 제공자(ISP)가 제공하는 DNS 서버를 사용하는 것이 가장 빠른 응답 속도를 제공할 수 있습니다만 오픈된 다른 DNS 서버들도 많.. 더보기
소켓 생성시 127.0.0.1과 0.0.0.0 차이점 서버를 생성할 때 기능 시험을 위해 호스트의 IP와 관계 없이 서버 소켓을 127.0.0.1로 주고 port를 지정하면 로컬에서 클라이언트를 구현하여 테스트 할때 별 문제가 없습니다. 하지만 개발을 완료 한 후 외부에서 접속 하려고 하면 접속이 안되는 것을 볼 수 있습니다. 가끔 착각하는 것이 서버 소켓에 내 아이피를 명시하지 않아도 서버 주소를 통해 외부에서 들어오는 모든 접속에 대하여 포트만 맞으면 받아 줄거라 생각합니다. 하지만 두가지는 명확히 다릅니다. 소켓을 생성할 때 127.0.0.1과 0.0.0.0의 차이는 다음과 같습니다. 1. 127.0.0.1 127.0.0.1은 로컬 루프백 인터페이스를 나타내는 IP 주소이며 로컬 머신에서만 접근 가능합니다. 따라서, 127.0.0.1은 하나의 호스트 .. 더보기
Rocky linux nvcc, cuda-toolkit 안될 때 해결하기(설치된 cuda 버전 확인하기, cuda-toolkit ropo 등록) rocky linux에서 설치된 cuda 버전을 확인하고 싶은데 nvcc가 없을 때 원래는 cuda-toolkit을 설치하면 된다. 그런데.. dnf search nvidia |grep toolkit dnf search cuda |grep toolkit 아무리 찾아도 repo에 cuda-toolkit이 없다. 어떻게 해야하는가 찾아보다보니 다음과 같은 말이 있었다. "NVIDIA는 2022년 4월 27일부터 apt, dnf/yum 및 zypper 패키지 관리자에서 사용하는 서명 키를 업데이트하고 회전하기 시작했습니다. 따라서 CUDA 저장소의 서명 키를 업데이트하지 않으면 CUDA 저장소에서 패키지에 액세스하거나 설치할 때 패키지 관리 오류가 발생할 수 있습니다" 1. Rhel8 용 cuda repo 등.. 더보기
리눅스 파일 찾기, find 명령의 다양한 응용(날자, 크기 조건으로 찾기, 찾아서 지우기 등등) 1. 이름으로 검색하기 현재 및 하위 디렉토리에서 이름이 example.txt인 파일 검색하기: find . -name example.txt 현재 및 하위 디렉토리에서 이름이 ple을 포함한 파일 검색하기: find . -name "*ple*" /etc 디렉토리에서 이름이 `*.conf`로 끝나는 파일 검색하기: find /etc -name "*.conf" 2. 크기별로 검색하기 /home 디렉토리에서 크기가 1MB 이상인 파일 검색하기: find /home -size +1M 현재 디렉토리에서 크기가 얼마 이상/이하인 파일 검색하기 find ./* -size +N => N 이상 크기의 파일을 검색한다. find ./* -size -N => N 이하 크기의 파일을 검색한다. find ./* -size N .. 더보기
Rocky linux 해킹 시도 확인, 원격 접속, 로그인 시도 결과 확인하는 법(/var/log/secure, /var/log/btmp) 인터넷 공인망에 연결된 모든 서버는 외부의 끊임 없는 접속 시도에 시달립니다. 공유기를 앞단에 놓고 로컬망을 구성해서 사용하는 경우는 그렇지 않을 것이라고 생각할 수 있지만 실제로 공유기에서 포트 포워딩을 해놓는 경우는 로컬망의 호스트들도 똑 같은 위험에 노출됩니다. 꼭 의미 있는 서버가 아니더라도 기계적으로 전 세계의 아이피를 서칭하는 로봇들이 수도없이 많기 때문에 막상 확인해보면 깜짝 놀랄때가 많습니다. 한번 확인 해 볼까요 tail -f /var/log/secure 오늘도 여전히 외부에서 ssh 접근 시도를 지속적으로 하고 있네요. 호스트 패스워드 설정을 예측 가능한 단어로 설정 하면 안되는 이유가 바로 이런 것입니다. 알려진 많은 id와 pw를 이용하여 반복해서 접근합니다. 로그 파일에서 해킹 시.. 더보기

반응형