Linux Programming #6

박진우·2022년 8월 5일
0

Linux

목록 보기
6/7

앞으로 linux를 사용하기위해 kali linux를 이용하여 기본적인 리눅스 프로그래밍을 해보았다.

먼저 VirtualBox 프로그램을 설치하고, 가상 머신을 생성한다음에 가상 머신에 Kali Linux를 설치한다.


💡 IP주소, MAC주소 확인

리눅스에서 IP 주소와 MAC 주소를 확인하는 대표적인 명령어는 ifconfig

  • IP주소
    네트워크의 연결에 제공된 주소IP (인터넷 프로토콜) 주소라고한다.

IP 주소는 네트워크 통신에 있어서 각각의 통신기기(컴퓨터, 노트북, 스마트폰 등)에 할당된 식별번호를 나타낸다. 쉽게 말하면 편지를 주고 받기 위한 집주소라고 이해하면 된다.

- MAC주소
IP주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호를 나타내는 것이다.

IP주소와의 차이점은, IP주소는 임시적으로 다른 주체에 의해 할당 되는 것이지만, MAC 주소는 통신기기의 하드웨어 자체에 부여된  고유한 식별번호 를 나타낸다.




◽ 라우팅 테이블 확인

라우팅 테이블을 확인하는 명령은 route이다.

  • 만약 아래와 같은 주소가 라우팅 테이블에 저장되어 있다고 가정한다

위의 엔트리는 헤더에 들어있는 목적지(Destination)1.2.3.0을 가기 위해서 마스킹정보(Genmask)255.255.255.0을 이용해서 AND연산을 통해서 원래 값을 유지하면서 연산을 한 값을 목적지 정보와 비교해서 IFace(인터페이스) eth0 으로 보낸다.




◽ DNS 서비스 사용해서 IP 주소 조회

윈도우 OS에서 DNS 서비스를 이용하기 위해 nslookup 명령어를 사용할 수 있다.

리눅스에서는 host 라는 명령어를 사용해서 영어로 된 도메인 이름숫자로 된 IP 주소로 변환할 수 있다.


  • 구글 웹 서비스의 IPv4 주소확인

  • 네이버 웹 서비스의 IPv4 주소확인




◽ PING 명령

Ping (Packet INternet Groper) 원격지 에 있는 대상 컴퓨터를 향해 일정 크기의 패킷을 보낸 후, 대상 컴퓨터가 이에 대한 응답 메세지 를 보내면 이를 수신하여 대상 컴퓨터 동작 여부 (예: 네이버 웹 서비스가 ‘동작중’인지 여부 확인) or 네트워크 상태 를 파악(ex 네이버 웹 서버에 도달하는 네트워크 경로에 아무런 문제가 없는지 여부 확인)할 수 있다.

Ping 명령은 ICMP프로토콜을 사용.

ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버 프로그램이 없는 등의 에러 상황 이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트로 이러한 에러에 대한 정보 를 보내주는 역할을 수행한다.

ping <IP 또는 도메인>




◽ Apache2

Kali Linux에는 Apache2가 기본 설치되어 있다.

Apache2 웹 서비스 시작 방법 $/etc/init.d/apache2 start 이고, 웹 서비스 종료 방법 $/etc/init.d/apache2 stop 입니다.


Apache2의 www-root는 /var/www 입니다.

먼저 /var/www/html 폴더로 이동한 후, index.html 파일 내용을 모두 지우고, “Hello JinWooPark!” 이라는 텍스트만 저장한 후 파일을 저장한다.


웹 브라우저 URL 입력부분에 본인 컴퓨터 IP를 입력하여 로컬에서 구동중인 Apache2 웹 서비스에 접속한다.


  • systemctl 명령

systemctl 명령을 사용해서 Apache2 서비스가 구동중인 것을 확인한다.




◽ Apache2 - 서비스 포트 조회

‘netstat’ 명령네트워크 연결과 관련된 다양한 정보를 출력하는데 사용되는데, 사용중인 포트 정보조회하는 데에도 사용한다.


  • 먼저 Apache2 서비스를 시작하고, sudo netstat -tulpn 명령을 실행한다.

  • 결과를 보고 apache2가 80번 포트를 사용하고 있는 것을 알 수 있다.
  • t: TCP 프로토콜만 출력한다.

  • U: UDP프로토콜만 출력한다.

  • L: 대기중인 네트워크

  • P: PID와 사용중인 프로그램명 출력한다.

  • N: 도메인 주소를 숫자로 출력한다.

0개의 댓글