У меня есть маршрутизатор под управлением Linux, который выступает в качестве центрального шлюза в Интернет для сети встроенных устройств, которые используют IPv6 для связи. Я хотел бы перехватывать, проверять и перезаписывать каждый пакет, который входит и выходит из Интернета в эту подсеть. Причина, по которой мне нужно это сделать, заключается в том, что я хочу создать прозрачную (с обеих сторон) прокси-службу, которая будет перенаправлять пакеты, входящие и исходящие, в кэш, который находится в другом месте в зависимости от содержимого пакета.
Эти устройства обмениваются данными, используя собственный протокол приложений, работающий по протоколу UDP, поэтому я не могу использовать что-то вроде Squid прямо из коробки. Это лучшее место, чтобы начать где-нибудь, как libpcap? Или я должен начать сверху и переписать Squid? Это первый раз, когда мне действительно пришлось глубоко погрузиться в сетевое взаимодействие, и я не уверен, с чего начать.