앞으로 linux를 사용하기위해 kali linux를 이용하여 기본적인 리눅스 프로그래밍을 해보았다.
먼저 VirtualBox 프로그램을 설치하고, 가상 머신을 생성한다음에 가상 머신에 Kali Linux를 설치한다.
리눅스에서 IP 주소와 MAC 주소를 확인하는 대표적인 명령어는 ifconfig
IP 주소는 네트워크 통신에 있어서 각각의 통신기기(컴퓨터, 노트북, 스마트폰 등)에 할당된 식별번호를 나타낸다. 쉽게 말하면 편지를 주고 받기 위한 집주소라고 이해하면 된다.
- MAC주소
IP주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호를 나타내는 것이다.
IP주소와의 차이점은, IP주소는 임시적으로 다른 주체에 의해 할당 되는 것이지만, MAC 주소는 통신기기의 하드웨어 자체에 부여된 고유한 식별번호 를 나타낸다.
라우팅 테이블을 확인하는 명령은 route이다.
위의 엔트리는 헤더에 들어있는 목적지(Destination)1.2.3.0을 가기 위해서 마스킹정보(Genmask)255.255.255.0을 이용해서 AND연산을 통해서 원래 값을 유지하면서 연산을 한 값을 목적지 정보와 비교해서 IFace(인터페이스) eth0 으로 보낸다.
윈도우 OS에서 DNS 서비스를 이용하기 위해 nslookup 명령어를 사용할 수 있다.
리눅스에서는 host 라는 명령어를 사용해서 영어로 된 도메인 이름을 숫자로 된 IP 주소로 변환할 수 있다.
Ping (Packet INternet Groper)은 원격지 에 있는 대상 컴퓨터를 향해 일정 크기의 패킷을 보낸 후, 대상 컴퓨터가 이에 대한 응답 메세지 를 보내면 이를 수신하여 대상 컴퓨터 동작 여부 (예: 네이버 웹 서비스가 ‘동작중’인지 여부 확인) or 네트워크 상태 를 파악(ex 네이버 웹 서버에 도달하는 네트워크 경로에 아무런 문제가 없는지 여부 확인)할 수 있다.
Ping 명령은 ICMP프로토콜을 사용.
ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버 프로그램이 없는 등의 에러 상황 이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트로 이러한 에러에 대한 정보 를 보내주는 역할을 수행한다.
ping <IP 또는 도메인>
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 명령을 사용해서 Apache2 서비스가 구동중인 것을 확인한다.
‘netstat’ 명령은 네트워크 연결과 관련된 다양한 정보를 출력하는데 사용되는데, 사용중인 포트 정보를 조회하는 데에도 사용한다.
- t: TCP 프로토콜만 출력한다.
- U: UDP프로토콜만 출력한다.
- L: 대기중인 네트워크
- P: PID와 사용중인 프로그램명 출력한다.
- N: 도메인 주소를 숫자로 출력한다.