2014-12-21 5 views
0

Я пытаюсь сделать следующее:Набор TCP MSS в питона

(1) Получение сетевого пакета, (2) Измените TCP MSS (макс. Размер сегмента) на другое значение, (3) Отправлять пакет.

Я использую python, iptables и dpkt для этого, но я не могу изменить MSS в заголовке tcp (в dpkt, как мне изменить mss в pkt.tcp.opts)?

Может кто-нибудь, пожалуйста, помогите мне с изменением MSS в заголовке TCP?

Спасибо!

ответ

0
buf = pkt.tcp.opts 
buf2 = "" 
while buf: 
     o = ord(buf[0]) 
     if o > tcp.TCP_OPT_NOP: 
      l = ord(buf[1]) 
      d = buf[2:l] 
      if o == tcp.TCP_OPT_MSS: 
       mss = struct.unpack(">H", d)[0] 
       mss2 = <newmss> 
       d2 = struct.pack(">H", mss2) 

       buf = buf[0:2] + d2 + buf[l:] 
      buf2 += buf[0:l] 
      buf = buf[l:] 
     else: 
      buf2 += buf[0] 
      d, buf = '', buf[1:] 

pkt.tcp.opts = buf2 

 Смежные вопросы

  • Нет связанных вопросов^_^