Перехват траффика с подменой содержимого
Юниксовую машину с iptables или ipfw или pf не получится поставить?
#!/usr/bin/env python
# vim: sts=4 sw=4 et
import select, time
from socket import *
si = socket(AF_INET, SOCK_STREAM, 0)
so = socket(AF_INET, SOCK_STREAM, 0)
si.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
si.bind'', 12345
si.listen(10)
s, a = si.accept
print a
so.connect'forumbgz.ru', 80
while 1:
p = select.poll
p.register(s, select.POLLIN)
p.register(so, select.POLLIN)
print '.'
for r in p.poll(100):
print r
rs, re = r
if rs == s.fileno:
print 'sending to server'
if not so.send(s.recv(4096:
raise RuntimeError("Empty")
elif rs == so.fileno:
print 'sending to client'
if not s.send(so.recv(4096:
raise RuntimeError("Empty")

12345 это порт на который надо направлять прогу
вместо forumbgz.ru и 80 - адрес на котором висит твой сервер
p.s. за скрипт спасибо, кстати оказалось что poll под виндовс нету, пришлось сделать с select.select


Адрес сервераа он точно не именем записан? мож, просто в хосты прописать?



Мне всегда казалось, что на wasm.ru таких статей навалом.
Оставить комментарий
6248874
В общем, имеется приложение (под Windows XP которое обменивается нешифрованными данными с сервером по TCP. Требуется на клиентской машине перехватывать пакеты и определенным образом видоизменять (как минимум - исходящие от клиента). Пара часов гугления ничего мне не дали по этому поводу (все найденные библиотеки типа WinPcap или Packet Sniffer SDK позволяют читать трафик, но не подменять его). Подумал, может кто-нибудь из местных знатоков ткнет меня в нужном направленииp.s. желательно что-нибудь под C/C++, но и под любой язык пойдет, лишь бы было что-нибудь)
p.p.s. заниматься ничем незаконным не собираюсь)