Перейти к содержимому
Калькуляторы

Откликнитесь, плиз, кто сможет написать небольшую программу, которая будет модифицировать пакеты

вылавливая их из NFQUEUE.

 

Моя задача немного изменять, переставляя пару байт, в пакетах dhcp.

Остановился на NFQUEUE, к примеру в питон писать программку, которую можно будет менять по своему усмотрению.

 

Может быть есть уже готовые решения, которые позволят модифицировать пакет по моим правилам (возможно не NFQUEUE).

 

Посоветуйте, плиз.

Изменено пользователем Ser

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

питон + netfilterqueue + scapy, мелкие изменения пишутся на лету

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробую изучить питон.

Синтаксис убил с этими отступами. Непривычно.

@ixi Сможете помочь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не заинтересован. простой пример из старых тестов (без проверок и прочего):

 

#! /usr/bin/env python2.7
from scapy.all import *
from netfilterqueue import NetfilterQueue

def modify(packet):
        pkt = IP(packet.get_payload())
        if pkt[DNSQR].qname == "example.com.":
            del pkt[IP].len
            del pkt[IP].chksum
            del pkt[UDP].len
            del pkt[UDP].chksum
            pkt[DNS].an[0].rdata = "1.2.3.4"
            packet.set_payload(str(pkt))
        packet.accept()

nfqueue = NetfilterQueue()
nfqueue.bind(1, modify)
try:
    print "[*] waiting for data"
    nfqueue.run()
except KeyboardInterrupt:
    pass

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:) мне везде сложно, но думаю изучение питона пригодится в будущем

Буду постигать

 

Подскажите

 

Как посмотреть все методы в модуле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 часов назад, Ser сказал:

Может быть есть уже готовые решения, которые позволят модифицировать пакет по моим правилам (возможно не NFQUEUE).

На фре легко делается: ng_bpf + ng_patch.

Загружаешь в bpf программу скомпиленную из матчинга tcpdump, всё что матчится идёт на один хук, всё что нет - на другой, где patch что то сделает с пакетом.

http://netlab.dhis.org/wiki/ru:software:freebsd:igmpproxy_on_netgraph

по аналогии с этим.

 

Ещё у меня была прога на си, через дивертсокеты работала, торрентовый uTP мучала.

http://netlab.dhis.org/wiki/ru:software:freebsd:utp_ctrl_daemon

 

Но может будет проще сразу взять сервер где можно делать что угодно:

http://netlab.dhis.org/wiki/ru:software:perl:dhcp_server

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

On 2/6/2020 at 4:42 PM, Ser said:

Посоветуйте, плиз.

 

а в чем смысл изменения в пакетах ? Может и не нужны подобные действия, и все можно сделать гораздо проще ?

 

Обрисуйте проблему полностью

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.