Я работаю над простой программой, написанной на Python, которая перехватывает поступающие сетевые пакеты. Затем позвольте пользователю использовать дополнительные модули, такие как обнаружение DoS или предотвращение Ping. С помощью сниффера я могу получить IP-адрес, MAC-адрес входящих подключений, флаг протокола и содержимое пакета. Теперь я хочу добавить новый модуль, который обнаруживает, использует ли отправитель прокси или нет, и делает что-то в соответствии с этим. Я искал методы, которые можно использовать с Python, но не нашел полезного. Сколько существует способов обнаружения прокси для Python?
Моя часть кода сниффера выглядит примерно так:
.....
sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, 8)
while True:
packet = sock.recvfrom(2048)
ipheader = packet[0][14:34]
ip_hdr = struct.unpack("!8sB3s4s4s", ipheader)
sourceIP = socket.inet_ntoa(ip_hdr[3])
tcpheader = packet[0][34:54]
tcp_hdr = struct.unpack("!HH9ss6s", tcpheader)
protoFlag = binascii.hexlify(tcp_hdr[3])
......