2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
실험실 환경
아이피(IP) | 역할 |
---|---|
192.168.1.100 | 클라이언트 요청 IP |
192.168.1.100 | Python으로 시작된 HTTP 서비스 |
192.168.1.102 | nginx 서비스 |
192.168.1.103 | 하프록시 서비스 |
HTTP 서비스
클라이언트 IP 분석을 위해 주로 HTTP 메시지를 인쇄하는 간단한 HTTP 서비스입니다.
#!/usr/bin/env python
# coding: utf-8
import socket
from threading import Thread
# 创建socket对象
sock_srv = socket.socket()
# 绑定IP和port
sock_srv.bind(('0.0.0.0', 5001))
# 开启服务
sock_srv.listen()
# 定义一个函数, 处理来自客户端链接的处理
def socket_deal(conn: socket.socket, address: tuple):
# 通过socket获取客户端的IP; 这里的客户端IP其实指的是TCP报文中的原始IP和原始Port
# 就是上一个发起TCP发起的地址
print(address)
# 打印HTTP的报文
print(conn.recv(1024).decode())
# 不做特殊处理,所有的请求均返回Hello Word
template = """
HTTP/1.1 200 OK
Service: HTTP
Version: 1.1.2.2