반응형

LAN(Local Area Network)이란?

LAN근거리 통신망을 의미합니다.

이는 보통 같은 건물, 캠퍼스 또는 한정된 지역 내의 네트워크를 가리킬 때 사용됩니다.

예를 들어, 집이나 회사에서 컴퓨터들이 동일한 네트워크 내에서 서로 연결되어 있는 경우, 이들은 모두 하나의 LAN에 속합니다.

LAN의 기본 특징

  1. 공유된 자원: LAN은 네트워크 내의 컴퓨터들이 자원(파일, 프린터 등)을 공유할 수 있도록 지원합니다.
  2. 속도와 범위: LAN은 속도가 빠르고, 물리적으로 제한된 범위(대개 100m 이내)에서 운영됩니다. 이는 근거리에서의 빠른 데이터 전송이 가능하게 만듭니다.
  3. IP 대역과 서브넷: 동일한 IP 대역 서브넷 마스크를 사용하는 네트워크 내의 기기들이 모두 LAN에 속합니다. 즉, IP 주소가 같거나 비슷한 범위에 속하는 컴퓨터들이 LAN 내에서 서로 통신할 수 있습니다.

LAN을 이해하기 위해서는 서브넷 마스크에 대한 이해가 필요합니다.

이는 네트워크의 구간을 나누는 기준으로, 각 컴퓨터가 같은 서브넷에 있을 때만 서로 통신할 수 있음을 의미합니다.

(서브넷, IP, MAC 주소에 대한 더 자세한 설명은 아래 링크에서 확인하실 수 있습니다.)

서브넷 마스크와 서브넷팅에 대한 설명 (https://jdcyber.tistory.com/51)

 

서브넷 마스크, 서브넷, 서브넷팅, 프리픽스 란? (쉬운 설명, 개념, 정리, 계산법)

서브넷 마스크 서브넷 마스크는 서브넷을 만들 때 사용되는 것으로 서브넷을 네트워크 아이디와 호스트 아이디로 분리하는 역할을 합니다. 서브넷 마스크(subnet mask)는 32비트의 숫자로 ‘0’의

jdcyber.tistory.com

IP 주소와 MAC 주소의 관계에 대한 설명 (https://jdcyber.tistory.com/27)

 

iP 주소란 무엇일까? (쉬운 설명, 개념, 정의, 호스트 아이디, 네트워크 아이디, 서브넷 마스크)

iP 주소란 무엇인가요? 정답은 컴퓨터마다 가지고 있는 주소 즉 이름입니다. 192.168.123.132 위와 같은 형태의 아이피 주소를 많이 보셨을겁니다. 위와 같이 A컴퓨터 너의 이름은 오늘부터 192.168.123.1

jdcyber.tistory.com

 

ARP (Address Resolution Protocol)란?

ARP주소 확인 프로토콜로, IP 주소MAC 주소로 변환하는 데 사용됩니다.

LAN 내에서는 컴퓨터들이 서로 MAC 주소를 사용해 물리적으로 데이터를 주고받습니다.

하지만 사람이 MAC 주소를 기억하기는 어렵기 때문에, 각 컴퓨터는 IP 주소를 사용하여 다른 컴퓨터와 통신하려고 합니다.

그렇다면 IP 주소MAC 주소는 어떻게 연결될까요?

바로 ARP가 그 역할을 합니다.

ARP의 작동 방식

  1. ARP 요청: 한 컴퓨터가 네트워크에서 다른 컴퓨터와 통신하려고 할 때, 먼저 ARP 요청을 보냅니다. 이 요청은 "이 IP 주소를 가진 컴퓨터의 MAC 주소를 알려주세요"라는 내용입니다.
  2. ARP 응답: 요청을 받은 컴퓨터는 자신의 MAC 주소를 포함한 ARP 응답을 보냅니다.
  3. ARP 테이블: 이를 통해 ARP 요청을 보낸 컴퓨터는 IP와 MAC 주소가 매칭된 정보를 ARP 테이블에 저장해 놓고, 이후 같은 IP로 통신할 때 ARP 요청을 반복하지 않아도 됩니다.

ARP의 중요성

  • 통신의 핵심: LAN 내에서 데이터는 항상 MAC 주소를 통해 전송됩니다. 따라서 ARP는 네트워크 상의 장치들이 서로 소통할 수 있도록 해주는 중요한 역할을 합니다.
  • 네트워크 관리: 네트워크 관리자들은 ARP 테이블을 통해 어떤 IP가 어떤 MAC 주소에 연결되어 있는지 확인할 수 있어, 네트워크 트러블슈팅이나 보안 관리에 유용하게 활용됩니다.

LAN과 ARP의 관계

 

LAN 내에서 각 컴퓨터는 동일한 서브넷을 공유하고, 이를 통해 서로 직접 통신할 수 있습니다.

이 통신 과정에서 ARP가 필수적인 역할을 합니다.

ARP는 IP 주소MAC 주소 간의 연결을 담당하여, 네트워크 상에서 MAC 주소를 기준으로 데이터를 정확히 전송할 수 있도록 해줍니다.

  1. LAN에서는 IP 주소가 아닌 MAC 주소로 데이터가 전달됩니다. 따라서 IP 주소MAC 주소로 변환되어야 하고, 이 과정에서 ARP가 사용됩니다.
  2. 네트워크 내에서 ARP를 사용하여 IP 주소MAC 주소를 매칭시킴으로써, 컴퓨터들은 서로 MAC 주소를 통해 데이터를 주고받을 수 있습니다.

 


LAN(Local Area Network)은 근거리 네트워크로, 동일한 IP 대역서브넷 마스크를 사용하는 컴퓨터들이 서로 통신할 수 있게 해주는 네트워크입니다.

이 네트워크 내에서 ARP(주소 확인 프로토콜)는 IP 주소MAC 주소로 변환하여, 컴퓨터들이 실제로 데이터를 주고받을 수 있게 하는 중요한 역할을 합니다.

이처럼, LANARP는 네트워크 통신의 기본이 되는 중요한 개념입니다.

이 두 개념이 제대로 이해되면, 네트워크 설계와 문제 해결 시 큰 도움이 될 것입니다.

(더 자세한 내용은 서브넷, IP 주소MAC 주소에 대한 다른 글에서 확인해 주세요.)

https://jdcyber.tistory.com/26

 

MAC 주소? iP 주소? 무슨 차이지? (쉬운 설명, 개념, 정의)

Mac 주소? IP 주소? iP 주소, MAC 주소.. 저희가 IT 업계로 들어오거나 인터넷 통신 혹은 게임을 할 때에도 간간히 들어봤던 이름일 겁니다. 여러분은 무엇인지 둘의 차이는 무엇인지 알고 계신가요?

jdcyber.tistory.com

 


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형
 
리눅스의 아이노드 (i-node)


아이노드(i-node)는 리눅스 파일 시스템에서 사용되는 데이터 구조입니다.

간단히 말하면, 파일에 대한 중요한 정보를 담고 있는 "주민등록증" 같은 역할을 합니다.

이 아이노드는 파일이 실제로 어디에 저장되어 있는지, 파일의 크기, 수정 시간 등 파일에 관한 다양한 정보를 관리합니다.

 
아이노드는 무엇을 관리할까요?

아이노드는 파일에 대한 중요한 정보를 포함하고 있습니다.

이 정보는 다음과 같습니다:

  • 파일 소유권과 접근 권한: 이 파일을 누가 소유하고, 어떤 권한을 가지고 있는지.
  • 파일 내용이 저장된 물리적 주소: 파일의 데이터가 실제로 어디에 위치하는지.
  • 파일의 링크 수: 파일을 참조하는 링크가 몇 개 있는지.
  • 파일의 크기: 파일이 차지하는 크기.
  • 파일 생성 시간, 최근 사용 시간, 최근 수정 시간: 파일이 언제 만들어졌고, 언제 마지막으로 사용되었는지, 수정되었는지에 대한 정보.
  • 아이노드의 최근 수정 시간: 아이노드 자체가 수정된 시간.

이 정보들은 파일 시스템에서 파일이 어떻게 저장되고 관리되는지에 대한 중요한 정보를 제공합니다.

아이노드는 어떻게 구성될까요?

아이노드는 64바이트 크기의 표로, 파일에 대한 모든 정보를 담고 있습니다.

그리고 이 아이노드들은 아이노드 블록에 저장되며, 전체 디스크의 약 1% 정도를 차지합니다.

파일이나 디렉토리가 생성되면, 해당 파일을 관리할 아이노드가 만들어지고, 이 아이노드는 아이노드 테이블에 등록되어 관리됩니다.

- 아이노드(inode): 파일이나 디렉토리의 중요한 정보를 담고 있는 64바이트 크기의 데이터 구조입니다.
- 아이노드 테이블(inode table): 시스템 내의 모든 파일과 디렉토리의 아이노드를 관리하는 표입니다.
- 아이노드 번호(inumber): 아이노드가 아이노드 테이블에서 고유하게 등록된 번호입니다.

아이노드 테이블의 역할

아이노드 테이블은 파일 시스템에서 파일이나 디렉토리들이 어디에 저장되고 있는지 추적하는 역할을 합니다. 파일이나 디렉토리가 생성되면, 아이노드 번호는 i-list라는 표에 등록되고, 이 번호를 통해 해당 파일에 대한 정보를 빠르게 찾을 수 있습니다.


이번 시간에는 아이노드에 대해 살펴보았습니다.

다음 시간에는 아이노드와 관련된 심볼릭 링크(소프트링크)와 하드링크에 대해 알아보겠습니다.

이를 통해 파일의 다양한 참조 방식에 대해서도 더 깊이 이해할 수 있을 것입니다.

https://jdcyber.tistory.com/86

 

리눅스 파일 링크 완벽 가이드: 하드링크와 소프트링크의 차이점

하드링크 (Hard Link) 하드링크는 원본 파일과 동일한 데이터를 가리키는 또 다른 이름입니다.원본 파일과 하드링크가 같은 아이노드 번호를 가집니다. 즉, 이 두 파일은 사실상 같은 파일입니다.

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형
 

하드링크 (Hard Link)

 

하드링크는 원본 파일과 동일한 데이터를 가리키는 또 다른 이름입니다.

원본 파일과 하드링크가 같은 아이노드 번호를 가집니다. 즉, 이 두 파일은 사실상 같은 파일입니다.

왜 하드링크를 배워야 할까요?

여러분은 파일을 여러 곳에서 사용해야할때 어떻게 합니까? 같은 파일을 여러 이름으로 저장하거나, 다른 위치에서 바로 접근할 수 있다면 더 효율적으로 관리할 수 있겠죠? 하드링크는 이런 문제를 해결해 줍니다.

시스템에서 파일 중복을 줄이고 디스크 공간을 절약할 수 있기 때문입니다.

예를 들어, 백업 시스템에서 동일한 파일을 여러 장소에 두고 관리해야 할 때, 하드링크를 사용하면 실제 파일을 복사하지 않고도 여러 위치에서 동일한 파일을 참조할 수 있습니다.

비유 법으로 배워봅시다
"이름 바꾸기"

하드링크는 마치 "이름을 바꾼 파일"과 같습니다.

예를 들어, 당신이 친구에게 '홍길동'이라는 이름을 줬다면, '홍길동'이라는 이름으로 불리는 사람이 바로 그 친구입니다.

이제 '길동이'라는 이름을 다시 붙였다고 생각해 보세요.

그 친구는 여전히 같은 사람이지만, 두 이름을 다 사용할 수 있게 된 것입니다. 이 경우 '홍길동'과 '길동이'는 사실 같은 사람(파일)입니다.

  • 같은 아이노드 번호: 하드링크 파일은 원본 파일과 정확히 동일한 데이터 블록을 가리킵니다. 즉, 파일의 실제 내용은 동일합니다.
  • 변경사항 동기화: 만약 '홍길동' 이름으로 파일을 수정하고, '길동이' 이름으로도 파일을 수정하면, 두 이름 모두 동일한 내용을 가리키고 있기 때문에 수정 사항이 동기화됩니다.
  • 파일 삭제: 원본 파일(홍길동)을 삭제해도, '길동이'는 여전히 존재하고, 그 파일의 내용은 변하지 않습니다. 사실 원본 파일이 삭제되었을 때는, 그 파일을 참조하는 다른 링크가 남아있기 때문에 파일이 삭제되지 않은 것처럼 보입니다.

파일 시스템에서 중요한 데이터 파일을 여러 곳에서 참조해야 할 때, 하드링크를 사용하면 데이터 중복을 줄이고 디스크 공간을 절약할 수 있습니다.

예를 들어, 서버의 데이터베이스 파일이 여러 디렉토리에서 필요할 때, 하드링크를 사용하여 하나의 원본 파일을 여러 이름으로 참조할 수 있습니다.

하드링크는 복사본을 만들지 않고도 파일을 여러 곳에서 사용할 수 있게 해 줍니다.

  1. 원본 파일 test.txt가 있다고 가정해 보겠습니다.
  2. 하드링크 test_link.txt를 만들면, 두 파일은 같은 아이노드를 가리킵니다.
  3. 두 파일 중 하나를 수정하면 다른 파일에도 수정 사항이 반영됩니다. 원본 파일을 삭제해도, 하드링크가 여전히 동일한 파일을 가리키고 있으므로 파일이 그대로 남아 있습니다.
 

소프트링크 (Soft Link, Symbolic Link)

소프트링크(심볼릭 링크)는 원본 파일을 가리키는 "통로" 역할을 합니다.

소프트링크는 원본 파일의 경로를 저장하는 별도의 파일로, 실제 데이터는 저장하지 않습니다.

이 링크는 원본 파일의 위치를 알려주는 주소와 같은 역할을 합니다.

왜 소프트링크를 배워야 할까요?

소프트링크는 시스템 관리에서 파일 경로를 효율적으로 관리하는 데 매우 유용합니다.

예를 들어, 자주 변경되는 설정 파일이나 라이브러리 파일에 대한 경로를 소프트링크로 관리하면, 시스템 업데이트나 변경이 있을 때 소프트링크만 수정하면 되기 때문에 관리가 용이해집니다.

또한, 시스템 설정이나 프로그램 파일들을 여러 곳에서 사용할 때, 소프트링크를 사용하여 경로를 간편하게 지정할 수 있습니다.

비유 법으로 배워봅시다
"주소를 적어 놓은 종이"

소프트링크는 마치 원본 집의 주소를 적어 놓은 종이와 같습니다.

예를 들어, 당신이 친구 집에 가고 싶을 때, 친구의 집 주소를 적어놓은 종이를 받고, 그 주소로 가면 친구를 만날 수 있죠.

이 주소 종이(소프트링크)는 원본 집(파일)의 위치를 가리키고 있습니다.

그러나 이 종이 자체는 집이 아니고, 그저 집의 위치를 알려주는 역할만 합니다.

만약 친구 집이 이사를 가면, 그 주소 종이는 더 이상 유효하지 않게 됩니다.

  • 다른 아이노드 번호: 소프트링크는 원본 파일과 다른 아이노드 번호를 가집니다. 소프트링크 파일은 원본 파일의 경로를 가리키는 문자열로 존재합니다.
  • 동기화 없음: 소프트링크에서 수정한 내용은 원본 파일에 영향을 주지 않습니다. 소프트링크 파일을 수정한다고 해서 원본 파일의 내용은 바뀌지 않습니다.
  • 원본 삭제 시 깨짐: 원본 파일이 삭제되면, 소프트링크는 더 이상 유효하지 않게 됩니다. 즉, 원본 파일이 사라지면, 소프트링크는 '깨진 링크'가 되어 더 이상 작동하지 않습니다.

소프트링크는 파일 경로를 효율적으로 관리하고, 시스템 환경에서 파일을 쉽게 참조할 수 있게 해줍니다. 예를 들어, 여러 버전의 소프트웨어가 설치되어 있을 때, 최신 버전의 소프트웨어를 소프트링크로 가리키면, 소프트웨어 경로를 쉽게 변경할 수 있습니다. 또한, 프로그램의 설정 파일이 여러 디렉토리에서 필요할 때, 소프트링크를 사용하여 중앙 집중식으로 관리할 수 있습니다.

  1. 원본 파일 test.txt가 있고, 소프트링크 test_link.txt를 만들었다고 합시다.
  2. 소프트링크 파일은 test.txt라는 파일의 위치만 알고 있을 뿐, 파일 자체를 가지고 있지 않습니다.
  3. test_link.txt를 열면, 자동으로 test.txt로 이동하여 내용을 볼 수 있습니다. 하지만 원본 파일을 삭제하면, test_link.txt를 열려고 할 때 오류가 발생할 것입니다. (깨진 링크)

핵심 차이점

구분 하드링크 소프트링크
아이노드 번호 원본 파일과 동일한 아이노드 번호를 가짐 원본 파일과 다른 아이노드 번호를 가짐
동기화 수정 사항이 원본 파일과 하드링크 파일에 동기화됨 수정 사항이 동기화되지 않음
파일 삭제 시 원본 파일 삭제 후에도 하드링크는 삭제되지 않음 원본 파일 삭제 시 소프트링크는 깨짐
파일 내용 원본 파일과 내용이 동일 원본 파일의 경로를 가리키는 통로(주소) 역할

 


혹시 아이노드에 대해 아직 모르신다면 아래 링크에서 확인해주세요!

https://jdcyber.tistory.com/87

 

리눅스 파일 시스템의 핵심, 아이노드(i-node)란 무엇인가?

리눅스의 아이노드 (i-node)아이노드(i-node)는 리눅스 파일 시스템에서 사용되는 데이터 구조입니다.간단히 말하면, 파일에 대한 중요한 정보를 담고 있는 "주민등록증" 같은 역할을 합니다.이 아

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형

 

요즘 스마트폰 사용자를 중심으로, 데이터를 무제한으로 테더링하여 사용하는 방법이 화제가 되고 있습니다. 이른바 "APN 우회"를 활용한 방식인데, 마치 폐쇄된 도로의 우회로를 찾아내는 것처럼, 제한된 환경 속에서 새로운 가능성을 열어주는 기법으로 주목받고 있습니다. 그렇다면, APN이란 무엇이며 이를 우회한다는 것은 어떤 의미일까요? 먼저 APN이 무엇인지 확인해봅시다.

 

1. APN이란 무엇인가? 

**APN(Access Point Name)**은 스마트폰이나 태블릿 같은 모바일 기기가 인터넷에 접속하기 위해 반드시 거쳐야 하는 "네트워크 관문"입니다. 통신사가 제공하는 모바일 데이터 서비스를 이용하려면, 기기가 어떤 방식으로 데이터를 전송하고 수신할지를 결정하는 APN 설정이 필요합니다.

이를 이해하기 위해 다음과 같은 비유를 생각해볼 수 있습니다:

비유: 공항의 게이트

APN은 마치 공항의 출입문(게이트)과 같습니다.

  1. 비행기가 공항을 통해 목적지로 날아가려면, 특정 게이트를 통해 승객과 화물을 싣고 출발해야 합니다.
  2. 이때, **게이트(APN)**는 비행기가 어떤 항공사 소속인지, 어떤 화물을 싣고 있는지, 어떤 노선을 통해 가는지를 결정하는 역할을 합니다.
  3. 통신사마다 각기 다른 게이트 설정이 있으며, 이 설정을 기반으로 특정 항공편만 출입하도록 허가하거나, 화물 종류에 따라 별도의 요금을 부과할 수도 있습니다.

APN TEC

APN은 네트워크의 "종단점"과 유사한 개념으로, 데이터를 전송하기 위한 통신 경로를 설정합니다. APN은 크게 두 가지 주요 정보를 포함합니다:

  1. PDN (Packet Data Network)의 주소:
    • 데이터를 전송할 네트워크의 주소를 나타냅니다.
    • 예를 들어, 인터넷에 연결하거나 MMS(멀티미디어 메시지)를 보내기 위한 경로를 정의합니다.
  2. 특정 설정 정보:
    • 인증 방식: 통신사가 사용자를 인증하기 위한 사용자 이름과 비밀번호.
    • 프로토콜 설정: IPv4, IPv6 또는 둘 다를 사용하는지.
    • 게이트웨이 정보: 네트워크의 어떤 노드를 통해 데이터를 보낼 것인지.

APN의 구성요소

APN은 다음과 같은 구성 요소로 이루어집니다:

  1. APN 이름:
    • 예: internet.kt.com 또는 lte.sktelecom.com.
    • 이는 기기가 연결하려는 통신사의 네트워크를 식별합니다.
  2. MCC (Mobile Country Code)와 MNC (Mobile Network Code):
    • 통신사의 국가와 네트워크를 식별하는 코드.
    • 예: 대한민국의 KT는 MCC가 450, MNC가 08입니다.
  3. APN 타입:
    • default: 기본 인터넷 데이터 연결.
    • mms: 멀티미디어 메시지 서비스.
    • supl: 위치 기반 서비스(GPS 지원) 데이터.
  4. Proxy 및 Port:
    • 데이터를 중계하거나 보안을 강화하기 위해 사용되는 설정.

APN이 중요한 이유

APN 설정을 통해 통신사는 다음과 같은 작업을 수행합니다:

  1. 데이터 요금 관리:
    • 예를 들어, 일반 데이터와 테더링 데이터를 별도로 관리하거나, 특정 데이터만 무료로 제공할 수 있습니다.
    • (비유: 같은 공항에서도 화물 운송과 여객 운송이 각각 다른 게이트를 이용하는 것처럼, 데이터 유형에 따라 다른 APN 경로를 설정함.)
  2. 서비스 최적화:
    • 예를 들어, 동영상 스트리밍 서비스는 고속 데이터 경로를, 텍스트 전송은 저속 경로를 사용하는 방식으로 최적화합니다.
  3. 보안 강화:
    • 데이터가 허가된 경로로만 전송되도록 하여 해킹이나 불법 접속을 방지합니다.
 

2. APN 우회란?

APN 우회란 통신사가 설정한 기본 APN의 제한을 피하고, 대안 경로를 통해 데이터를 사용하는 방법을 의미합니다. 일반적으로 통신사는 테더링 데이터를 제한하기 위해 별도의 APN을 할당하지만, 사용자가 APN 설정을 변경하거나 커스텀 APN을 활용하면 이러한 제한을 우회할 수 있습니다.

이는 마치 고속도로에서 통행료를 내지 않기 위해 작은 시골길을 찾아가는 것과 비슷합니다. 우회로를 찾으면 더 많은 자유를 누릴 수 있지만, 이는 통신사의 정책에 반하는 행위로 간주될 수 있습니다.

통신사 정책과 APN

통신사들은 APN 설정을 기반으로 데이터 사용량을 제한하거나, 특정 서비스에 대해 요금을 부과합니다. 예를 들어:

  • 테더링(핫스팟) 데이터를 일반 데이터와 별도로 제한하려면, 테더링에 별도의 APN을 할당합니다.
  • 데이터 무제한 요금제라도 일부 동영상 스트리밍 서비스는 속도를 제한하는 방식으로 APN을 설정합니다.

APN 우회는 기본적으로 통신사의 제한을 피하고 데이터를 무제한 또는 별도 요금 부과 없이 사용하는 방법입니다. 이를 위해 APN 설정을 조작하거나, 통신사에서 제공하지 않은 커스텀 APN을 추가로 설정하는 방식이 사용됩니다.

 

APN 우회 기본 원리

  1. 통신사의 APN 구조 이해:
    • 통신사는 데이터를 일반 데이터, 테더링 데이터, MMS 데이터 등으로 분리 관리하기 위해 여러 APN을 사용합니다.
    • 예를 들어, 테더링은 별도의 APN 경로로 트래픽을 처리하고, 이 경로에 데이터 제한을 두거나 속도를 제한할 수 있습니다.
    • APN 우회는 일반 데이터 APN을 사용하여 테더링 데이터를 처리하거나, 다른 APN을 사용해 제한을 피하려는 시도입니다.
  2. 우회 방식:
    • 기본 APN 수정: 기존의 통신사 APN을 수정해 데이터를 무제한으로 사용하는 방식.
    • 커스텀 APN 추가: 새로운 APN 프로파일을 추가하여 통신사 정책을 우회.
    • VPN과 조합: 데이터를 APN에서 암호화된 VPN으로 라우팅하여 통신사가 트래픽의 성격을 파악하지 못하도록 함.

한마디로 통신사들이 무제한 데이터를 모바일에서 사용하는 네트워크로 apn을 설정해놨기에 테더링 핫스팟으로 뿌려지는 인터넷에는 무제한 데이터가 할당되지 않아서 인터넷을 사용할 수 없습니다.

통신사가 이를 막아둔 것이죠.

 

이러한 정책은 무분별하게 악용햐여 스마트폰을 공유기처럼 사용하는 사용자를 제제할 수 있지만 같은 통신사의 요금제를 이용하는 개인 사용자는 조금 억울할 수 있습니다.

아래는 apn 우회를 방법론 적으로만 설명하고있습니다. 


APN 우회 방법 (안드로이드와 아이폰)

1. 안드로이드에서 APN 우회 설정

안드로이드는 APN 설정을 직접 수정할 수 있는 기능을 제공하며, 방법은 다음과 같습니다:

  1. APN 설정 메뉴 접근:
    • 설정 → 네트워크 및 인터넷 → 모바일 네트워크 → APN (접속 이름) 메뉴로 이동.
  2. 새 APN 추가 또는 기존 APN 수정:
    • 새 APN 추가: 우회에 사용할 새로운 APN을 추가.
    • 기존 APN 수정: 통신사에서 제공한 기본 APN 정보를 일부 수정.
  3. APN 설정 정보 입력:
    • 일반적으로 데이터 우회를 위해 사용하는 정보:
      • 이름: 임의로 설정 가능 (예: Custom APN)
      • APN: internet 또는 default
      • 인증 방식: 기본 설정(없음) 또는 PAP/CHAP
      • MMSC, MMS 프록시: 비워두기
      • APN 타입: default,supl 또는 internet
  4. APN 저장 후 활성화:
    • 새로 추가하거나 수정한 APN을 선택해 활성화.
  5. 테더링 데이터 우회:
    • 테더링 사용 시에도 동일한 APN이 적용되도록 설정하거나, VPN을 병행해 트래픽을 숨기는 방식 사용.

2. 아이폰에서 APN 우회 설정

아이폰은 기본 설정에서 APN을 수정할 수 없는 경우가 많으므로, 프로파일(Profile) 파일을 설치하는 방식으로 접근해야 합니다.

  1. 프로파일 생성:
    • APN 설정을 포함한 구성 프로파일을 생성하기 위해 Apple Configurator 또는 프로파일 생성 사이트를 사용.
    • 필요한 APN 정보:
      • APN: internet
      • 사용자 이름/비밀번호: 비워두기 또는 통신사 기본값.
      • APN 타입: default 또는 internet.
  2. 프로파일 설치:
    • 생성된 프로파일 파일(.mobileconfig)을 이메일이나 iCloud Drive를 통해 아이폰으로 전송.
    • 아이폰에서 프로파일을 열고 설치.
  3. 설치 후 활성화:
    • 설정 → 일반 → 프로파일에서 새로 설치한 프로파일을 확인.
    • 데이터 트래픽이 새로운 APN 경로를 통해 작동하는지 테스트.

하지만 현재 apn 우회에 대한 방법은 거의 다 막혀있는 상태입니다.

현재는 프록시서버를 거쳐 모바일 데이터를 표준 데이터로 사용하는 방법은 있는 상태입니다.

해당 기술에 대한 이론과 방법론은 다음 글에서 작성하도록 하겠습니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형
 

프로그래밍을 공부하면서 가장 어려웠던 점은

지금까지 아이콘과 마우스 클릭으로 이루어졌던 모든 일들을

이제는 CMD, TERMINAL 등에서 명령어로

수행해야 한다는 것이었습니다.

즉각적으로 눈에 보이는 구조가 아니라

머릿속에서 컴퓨터 동작의 구조를 인지하고

있어야 한다는 점이 익숙하지 않았습니다.

터미널 창을 띄우고 간단한 명령어들을

입력해 보면서 공부하기는 했지만,

기본적으로 이 시스템 자체에 대한 이해가 필요했고,

그중 (Shell) 대해 정리해 보기로 했습니다.


쉘(Shell)이란 무엇인가?

쉘 (Shell)은 껍질이라는 뜻입니다.

바깥 환경과 속 살 그 사이의 껍질,

이것이 쉘 (Shell)입니다.

속 살은 운영체제 (Window, Mac, Linux etc..)이고,

바깥 환경은 사용자이며

운영체제와 사용자가 대화를 주고받을 수 있도록

그 사이에서 도와주는 것이 쉘입니다.

Shell 은 명령어 해석기로서

프로그램이며 실행 파일입니다.

C언어, 자바스크립트 같은 언어들은

컴파일러라는 번역기에 의해

기계어로 변환되어 컴퓨터에서 동작하지만

쉘 스크립트는

사람이 바로 이해할 수 있는

자연어 형식으로 되어있습니다.

기본적으로 셸은 대화형 인터페이스를 제공합니다.

따라서 입력받은 명령어를 즉시 실행시킬 수 있으며

다양한 옵션 기능을 통해 편리하게 이용할 수 있습니다

 

,

쉘은 사용자와 운영체제 간의 대화를 중개하는 인터페이스입니다.

사용자가 입력한 명령을 운영체제에 전달하고,

그 결과를 사용자에게 돌려주는 역할을 합니다.

쉘은 일종의 명령어 해석기로,

사용자의 명령어를 해석하여 컴퓨터가 수행할 수 있는 언어로 변환합니다.

이는 다양한 프로그래밍 언어가 컴파일러를 통해 기계어로 번역되는 과정과 유사합니다.


마지막으로 다시 한번 짚어보겠습니다.

쉘은 운영체제와 커널 사이에 위치해 있으며,

응용 프로그램과 커널이

대화를 할 수 있도록 만들어줍니다.

우리가 명령어를 쳐서 쉘에게 넘기면

쉘은 커널에게 전달합니다.

커널은 해당 명령어를 수행하고 결과를

다시 쉘을 통해 우리에게 전달합니다.

그래서 쉘을 명령어 해석기라고 이해하셔도 무방합니다.


 
쉘의 주요 기능
  • 대화형 인터페이스: 사용자로부터 명령어를 입력받아 즉시 실행할 수 있습니다.
  • 스크립트 실행: 쉘 스크립트를 통해 복잡한 작업을 자동화할 수 있습니다.
  • 환경 설정: 시스템 전체나 개별 사용자의 환경을 설정할 수 있습니다.

주요 쉘의 종류
  1. Bourne Shell (sh): 유닉스에서 가장 초기의 쉘로, 많은 리눅스 배포판에서 기본적으로 설치됩니다.
  2. C Shell (csh): C언어의 문법을 모방하여 사용성을 향상시킨 쉘입니다. 다양한 편리 기능을 제공하지만, 처리 속도가 느린 단점이 있습니다.
  3. Korn Shell (ksh): Bourne Shell을 확장한 쉘로, C Shell의 기능을 포함하며 빠른 처리 속도를 자랑합니다.
  4. Bash (Bourne Again Shell): 현재 가장 널리 사용되는 쉘로, Bourne Shell의 기능을 기반으로 하여 Korn Shell과 C Shell의 장점을 결합했습니다. sh 셸을 기반으로 만들어졌으며 리눅스에서 사용자 계정을 생성할때 특별한 셀을 지정하지 않으면 기본적으로 사용되는 셸입니다. bash는 sh를 기반으로 korn shell(ksh) + C shell(csh)의 장점을 모아 만들었으며 무로료 배포되어 빠르게 시장을 점유했습니다.
  5. Z Shell (zsh): Bash의 기능을 확장하고 사용성을 더욱 향상시킨 쉘로, macOS Catalina 버전부터 기본 쉘로 사용됩니다.
  6. tcsh Shell: csh의 기능을 강화한 쉘입니다.

내가 원하는 셸을 사용해 보자

 

내가 사용 중인 셸 확인하기

# echo $SHELL
# env|grep SHELL

변경 가능한 셸 확인하고, 일시적으로 변경하기

# cat /etc/shells
# /bin/sh

변경 가능한 셸 확인하고 , 셸 변경하기

# cat /etc/shells
# chsh -l

(방법1)
# chsh ubuntu -s /bin/dash <- 예시로 우분트 셸을 dash셸로 변경해보기
(방법2)
# vi /etc/passwd <- vi 편집기로도 변경 가능

셸 별 기능 체크

 
Bourne
C
TC
Korn
Bash
sh
csh
tcsh
ksh
bash
Programming language
Shell variables
Command alias
X
Command history
X
Filename completion
X
✓+
✓+
Command line editing
X
X
✓+
Job control
X

쉘과 커널의 관계

쉘은 운영체제의 핵심 구성 요소인 커널과 밀접하게 연결되어 있습니다.

사용자가 쉘에 명령을 입력하면, 쉘은 이를 해석하여 커널에 전달합니다.

커널은 명령을 수행한 후 그 결과를 쉘을 통해 사용자에게 반환합니다.

아래 글에 커널에 대해 쉽고 자세하게

작성해 두었으니

https://jdcyber.tistory.com/67

 

커널(Kernel)이란 무엇일까? (개념, 이중 모드, 쉘의 역할)

커널(Kernel)은 컴퓨터 운영체제의 핵심 부분으로,하드웨어 자원을 관리하고 응용 프로그램과 하드웨어 사이의 인터페이스 역할을 수행합니다.<p style="text-align: center;" data-ke-size="size1..

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형

+ Recent posts