HTTP 서버를 구축하고 외부 네트워크-인트라넷 침투에서 액세스하기 위한 한 줄의 Python 명령

원격 인트라넷 침투 기사에서 복각: [Python] 빠르고 쉽게 HTTP 서버를 구축하고 공용 네트워크에서 "cpolar 인트라넷 침투"에 액세스

1. 소개

비교적 대중적인 프로그래밍 언어인 Python은 구문이 간단하고 문장이 명확하며 Python은 호환성이 좋고 다른 프로그래밍 언어(예: C/C++)로 구축된 모듈과 쉽게 연결할 수 있으며 Python은 풍부하고 강력합니다. 라이브러리는 패키징되어 있고 쉽게 호출할 수 있으므로 매우 인기가 있습니다.

오늘 우리는 파이썬을 사용하여 로컬 컴퓨터에 지정된 디렉토리와 파일을 표시하는 간단한 http 서버를 구축하려고 합니다.

2. 로컬 http 서버 구축

일반적으로 Python의 간단한 http 서버는 Apache 및 IIS와 같은 복잡한 서버 프로그램에 의존하지 않습니다. http 서비스를 생성하기 위한 한 줄의 명령이 함께 제공되기 때문입니다. 그러나 상대적으로 이 간단한 http 서비스는 복잡한 기능을 제공할 수 없으며 비교적 간단한 디렉토리 서비스만 제공할 수 있습니다. 그러나 파이썬을 배우고 익히고자 하는 사람들에게 이것은 또 다른 필요한 단계입니다.

2.1.Python 설치 및 설정

먼저 파이썬 프로그램을 로컬에 설치해야 합니다. Python 프로그램은 공식 웹 사이트( www.python.org/ )에서 해당 운영 체제 버전을 다운로드할 수 있습니다. 작성자는 Windows 운영 체제를 사용하므로 다운로드할 Windows 버전을 선택합니다.

20230330132801

20230330132802

Python 다운로드가 완료되면 installer.exe를 직접 클릭하여 설치합니다. 동시에 설치 과정에서 Add python.exe to PATH옵션을 확인해야 한다는 점에 유의해야 합니다.

20230330132803

20230330132804

Python 프로그램 설치를 완료한 후 Python http 서버 구축을 시작할 수 있습니다.

2.2.Python 서버 설정 및 테스트

파이썬에는 간단한 http 서비스 패키지가 내장되어 있기 때문에 파이썬의 경우 명령 줄만 입력하면 http 서비스를 쉽게 열 수 있습니다. 물론 웹 페이지를 실행하려면 웹 페이지에 표시 콘텐츠가 있어야 합니다. 따라서 먼저 웹 페이지 파일을 저장할 폴더를 만들 수 있습니다. 예를 들어 작성자는 로컬 컴퓨터의 E 드라이브 아래에 새 "test" 폴더를 만들었습니다.

20230330132805

命令提示符그런 다음 로컬 컴퓨터의 인터페이스를 관리자로 실행 하고 명령을 입력하여 파일이 저장된 하드 디스크로 전송하십시오.

e:

공유하려는 폴더로 이동

cd test

20230330132806

20230330132807

그런 다음 명령을 입력하십시오启动http服务

  • Python 버전이 2.x인 경우 다음 명령을 입력합니다.
python -m SimpleHTTPServer 8081
  • Python 버전이 3.x인 경우 다음 명령을 입력합니다.
python -m http.server 8001

그 중 8081은 비어있는 포트를 선택하는 한 구축할 서버의 출력 포트입니다. 방화벽 프롬프트 메시지가 나타나면 선택하기만 하면 됩니다 允许访问.

명령줄이 입력된 후 python은 피드백을 제공합니다 Serving HTTP on 0.0.0.0 port 8081 .... 이는 로컬 포트 ​​8081에서 python http 서비스가 성공적으로 열렸음을 의미합니다.

20230330132808

그런 다음 로컬 컴퓨터에서 브라우저의 주소 표시줄에 입력하여 localhost:8081공유할 폴더에서 파일을 엽니다.

20230330132809

이러한 내용을 볼 수 있다는 것은 로컬 컴퓨터에서 python의 http 서비스가 활성화되었으며 이 폴더의 파일을 이미 확인할 수 있음을 의미합니다. 마찬가지로 웹페이지 파일을 이 폴더에 넣으면 웹페이지로 표시될 수도 있습니다.

이때 동일한 LAN에 있는 장치의 경우 브라우저에 로컬 컴퓨터의 IP 주소 + 포트 번호(구체적인 형식은 192.168.XXX.XXX: 포트 번호)를 입력하면 Python 웹 페이지를 열 수 있습니다. 표시됩니다.

20230330132810

그러나 공용 인터넷에서 액세스할 수 없는 웹 페이지는 항상 영혼이 부족하다고 느끼기 때문에 cpolar 인트라넷 침투를 사용하여 인트라넷 침투 데이터 터널을 만들어 공용 인터넷 조건에서 Python에 액세스할 수 있습니다.

3. cpolar 설치 및 등록

마찬가지로 cpolar 공식 홈페이지( https://www.cpolar.com/ )에서 운영 체제 버전에 해당하는 소프트웨어를 찾을 수 있으며 , 저자도 여기에서 Windows 버전을 선택합니다.

20230330132811

20230330132812

Cpolar 소프트웨어를 다운로드한 후 압축된 패키지의 압축을 풀고 두 번 클릭하면 .msi文件자동으로 설치됩니다 Next.

20230330132813

20230330132814

cpolar는 각 사용자에 대해 독립적인 데이터 터널을 생성하고 데이터 보안을 보장하기 위해 사용자 비밀번호와 토큰 코드로 보완되므로 cpolar를 사용하기 전에 사용자를 등록해야 합니다. 회원가입 절차도 매우 간단하여 cpolar 홈페이지 우측 상단의 用户注册회원가입 페이지에서 필요한 정보를 입력하면 회원가입이 완료됩니다.

20230330132815

20230330132816

3.1 Cpolar 클라우드 설정

cpolar 설치 및 등록을 완료한 후 cpolar를 사용하여 로컬 컴퓨터의 Python 웹 페이지를 공용 인터넷에 연결하기 위한 인트라넷 침투 데이터 터널을 생성할 수 있습니다. cpolar 무료 버전의 데이터 터널은 24시간마다 재설정됩니다. 저자는 매일 데이터 터널 설정을 재설정하고 싶지 않아 장기적으로 안정적인 인트라넷 침투 데이터 터널을 얻기 위해 cpolar를 VIP 버전으로 업그레이드했습니다.

장기적이고 안정적인 인트라넷 침투 데이터 터널을 생성하기 위해서는 먼저 cpolar 공식 웹사이트를 방문하여 로그인하고 "대시보드" 페이지 왼쪽에 있는 버튼을 찾아 클릭하여 "예약" 페이지로 들어가야 합니다 预留.

20230330132817

20230330132818

"예약" 페이지에서 cpolar가 다양한 프로토콜에 대한 데이터 터널 예약 항목을 제공하는 것을 볼 수 있습니다. 그리고 파이썬 서버는 http 프로토콜이므로 保留二级子域名필드를 찾습니다. 물론 도메인 이름 공급자로부터 자신의 도메인 이름을 이미 구입한 경우 "Reserve Custom Domain Name" 열을 선택할 수도 있습니다.

"reserved second-level subdomain name" 필드에서 우리가 예약하려는 2차 하위 도메인 이름의 정보를 설정해야 하며, 이 정보 세트는 또한 로컬 Python 서버에 액세스하기 위한 터널 입구가 됩니다. 공용 인터넷(공용 인터넷 부분의 주소). 설정해야 하는 특정 정보는 다음과 같습니다.

  • 地区: 서버가 위치한 지역 중 가장 가까운 곳을 선택하면 됩니다.
  • 二级域名결국 네트워크 주소의 식별자 중 하나로 생성된 공용 인터넷 주소에 나타납니다.
  • 描述다른 터널과 구별되는 이 데이터 터널에 대한 설명이라고 볼 수 있습니다.

이러한 설정을 입력한 후 保留오른쪽에 있는 버튼을 클릭하여 이 데이터 터널을 유지할 수 있습니다. 이 터널의 입구를 더 이상 원하지 않으면 오른쪽의 "x"를 클릭하여 터널을 쉽게 삭제할 수도 있습니다.

20230330132819

3.2 Cpolar 로컬 설정

cpolar 클라우드 설정을 완료한 후 로컬 컴퓨터로 돌아가 cpolar 클라이언트를 열고 로그인합니다(브라우저에 localhost:9200을 입력하여 직접 액세스하거나 시작 메뉴에서 cpolar 클라이언트 바로 가기를 클릭할 수 있음).

20230330132820

클라이언트 메인 인터페이스의 왼쪽에 있는 버튼을 클릭하여 로컬 터널 생성 페이지로 이동합니다(24시간마다 주소가 재설정되는 임시 데이터 터널을 생성하려는 경우 공백으로 설정하는 대신 여기에서 직접 설정할 수 있습니다. cpolar 공식 웹사이트의 데이터 터널) 隧道管理.创建隧道

이 페이지에서 다음과 같은 몇 가지 정보 설정도 수행해야 합니다.

  1. 隧道名称——우리가 구별하기 편리한 한 cpolar의 로컬 터널 정보 주석으로 간주할 수 있습니다.
  2. 协议——Tomcat은 웹 페이지를 출력하므로 http 프로토콜을 선택합니다.
  3. 本地地址——로컬 주소는 로컬 웹사이트의 출력 포트 번호입니다.우리는 이전에 출력 포트로 8081을 설정했으므로 여기에 8081을 입력합니다.
  4. 域名类型——이 예에서는 cpolar 클라우드에서 2단계 하위 도메인 이름의 데이터 터널을 예약했으므로 "2단계 하위 도메인 이름"을 확인합니다(예약된 도메인 이름이 사용자 지정 도메인 이름인 경우 사용자 지정 도메인 확인) 이름), 다음 줄의 "하위 도메인" 열에 예약된 2단계 하위 도메인 이름을 입력합니다. cpolar 클라이언트는 자체 주소로 네트워크를 생성합니다.)
  5. 地区——cpolar cloud 설정과 동일하게 실제 위치에 따라 가장 가까운 위치를 채웁니다.

20230330132821

이러한 설정을 완료한 후 创建페이지 하단에 있는 버튼을 클릭하여 로컬 Python 서버 웹페이지를 cpolar 클라우드에 예약된 2단계 하위 도메인과 연결하여 완전한 인트라넷 침투 데이터 터널을 생성할 수 있습니다.

터널이 생성된 후 cpolar는 자동으로 隧道管理-- 隧道列表페이지로 이동하여 데이터 터널의 상태(차단 해제 여부)를 확인하거나 터널 열기, 닫기 또는 삭제를 제어할 수 있습니다. 터널 정보를 변경해야 하는 경우 여기에서 "편집" 버튼을 사용할 수도 있습니다.

20230330132822

4. 공중망 접속 테스트

데이터 터널이 설정되면 cpolar 클라이언트의 왼쪽을 클릭할 수 있습니다 状态. 在线隧道列表로컬 Python 서버 페이지에 액세스할 수 있는 공용 인터넷 주소를 찾으십시오.

20230330132823

이 주소를 브라우저 주소에 입력하기만 하면 로컬 컴퓨터에서 쉽게 Python 서버 페이지에 액세스할 수 있습니다.

20230330132824

5. 결론

지금까지 파이썬을 성공적으로 사용하여 간단한 서버 페이지를 구축하고 인트라넷 장벽을 통과할 수 있는 cpolar를 통해 데이터 터널을 만들고 이 파이썬 페이지를 공용 인터넷에 게시했습니다. 사실 웹 페이지(또는 소프트웨어)의 출력 포트 번호를 알고 있는 한 cpolar를 사용하여 인트라넷에 침투하여 공용 인터넷에서 로컬 웹 페이지(또는 소프트웨어)에 액세스할 수 있습니다.

추천

출처blog.csdn.net/qq_43289447/article/details/130334369