LINUX.ORG.RU

Как узнать Sequense number в python [tcp]

 ,


0

1

Добрый день, хочу задать вопрос... Как узнать Sequense number на прослушиваемом сокете в python? Хотел бы обединить пакеты в одну цепочку, но не зная номера секции такое не выйдет:( Возможно ли это сделать при помощи getsockopt? Если да, то как?) Благодарю за подсказки


Я тебя не понимаю. Берешь сокет, пишешь/читаешь туда, ОС делает все остальное, в том числе разбивку данных на куски. Зачем тебе sequence number?

slvrn ★★★ ()
Ответ на: комментарий от slvrn

Задачку по сетям решает.

Ловишь пакет уровнем выше, берешь библиотеку для расковыривания пакетов и расковыриваешь. На каком из этих пунктов ты застрял?

t184256 ★★★★★ ()

Такое с обычными TCP-сокетами не получится сделать. Нужно либо использовать RAW-сокеты с userspace tcp-стек, либо, как вариант, перехватывать свои же сокеты RAW-сокетами (не уверен, что так можно, но, вроде, можно), либо перехватывать их через NFQUEUE.

Оба способа требуют root (вернее, CAP_NET_ADMIN).

ValdikSS ★★★★ ()
Последнее исправление: ValdikSS (всего исправлений: 1)
Ответ на: комментарий от ValdikSS

Возможно, мы друг-друга не поняли... у меня так сырые сокеты, трафик перенаправляю при помощи правила в iptables. На забинденный сокет летит трафик, на данном форуме подсказали, как узнать оригинальный адр. назначения и порт при помощи getsocketopt... Может быть с ее помощью можно узнать и seq, ack? root - не проблема, да и порты выше 1024, кажется, не требуют рута...

trix0 ()