2016-08-25 3 views
0

Я играю с библиотекой scapy в Python3 (https://github.com/phaethon/scapy) и нюхать пакеты по сети, я получаю эти форматы пакетов, вот несколько примеров:Почему преобразование работает в режиме ожидания, но не выполняется?

b'\xe8t\xe6,\xf1:0\x10\xb3\x18\x8b\xfd\x08\x00E\x00\x00b\xe7\[email protected]\[email protected]\x06\xf2j\xc0\xa8\x01h\xd8:\xc6.\xd2B\x01\xbb\xa1\x9a\xbf\x1e\x0b"q\xc1\x80\x18\x00\xfe^\x95\x00\x00\x01\x01\x08\n\x00CX6)\x818P\x17\x03\x03\x00)\x00\x00\x00\x00\x00\x00\x00\x0f\x8d\xdc\x86`:\xe9\x8f=\xec\x89u~\xdf\x7f\x1aN\x85\xf4ESt\xa0oT\xdba\xfan\xc7\xb8\x01\xf8\t' 

или

b'\xe8t\xe6,\xf1:0\x10\xb3\x18\x8b\xfd\x08\x00E\x00\x01\x03\xe3\[email protected]\[email protected]\x06\xda\xbe\xc0\xa8\x01h\xc0|\xf9\n\xcc6\x01\xbbDo\x9a\xe4N\xaf\x11~\x80\x18\x05\xa4\xc6x\x00\x00\x01\x01\x08\n\x00CY\xed`\xa8Vb\x17\x03\x03\x00\xca\x00\x00\x00\x00\x00\x00\x004;wn,\x13\x8d9\x17G\xee/\x1c\x15\x12,\xc0\xde\xf4\xab\xa5emvZ\xf5\x1f\x94\x8a\xcc4g>@\xb9\xf2dYs\xeb<l;\x8b\x8a\xccT\n\xacUT\x049\xcbp\x1c#\x87z\\[8\xde\xd7I\x14\xfd\x94\x81\x13x`\x9eH\xd8\xbc)lc\x0fE\xfc\x99F\xb0c\xb9v\x86\x1c\xc4\xec\x14\xb6\x00\x1e\x8f\xd5\x08H/\xa4\xea\xf4~2\x90\xc7\xabJ\xb9\x9f\xf9\x06\xc6\xe5$\xe4(\xab#\xd8\xf4<\x7f\xfa\xe6Y_\x80\x14\xb2H\x10\x1cT\xdf\x1f\x0f\xbb\xce\xf8\xbe q\xf3=qQ\xd2a!e\x8a\xbf9Y\x7f\xb8\xe5Bo\xd8\r\xcb\xcf\x01H\xf8x\x90\x98\xfc>$\xef>\x80;\xa9\xf9\x7f\x9f\xc5?V\xecH:\x7f\xfeb\xa5E\xab' 

странная вещь, что если я пытаюсь преобразовать их в idle3, набрав:

> from scapy.all import * 
> text = b'blablablabytesstring' 
> text2 = Ether(text) 
> text2 

И это работает, это правильно преобразует.

Но если я делаю то же самое, но писать простой сценарий, как:

from scapy.all import * 

text = b'sameblablablabytesstringasidle3' 

text2 = Ether(text) 

print (text2) 

Она не новообращенных, и печатает тот же байт строки.

Почему? Как я могу это решить?

--UPDATE--

Это выход text2.show()

###[ Ethernet ]### 
    dst  = e8:74:e6:2c:f1:3a 
    src  = 30:10:b3:18:8b:fd 
    type  = 0x800 
###[ IP ]### 
    version = 4 
    ihl  = 5 
    tos  = 0x0 
    len  = 259 
    id  = 24485 
    flags  = DF 
    frag  = 0 
    ttl  = 64 
    proto  = tcp 
    chksum = 0x5eb8 
    src  = 192.168.1.104 
    dst  = 192.124.249.10 
    \options \ 
###[ TCP ]### 
     sport  = 51172 
     dport  = https 
     seq  = 3204149667 
     ack  = 3154139287 
     dataofs = 8 
     reserved = 0 
     flags  = PA 
     window = 1444 
     chksum = 0xb3ea 
     urgptr = 0 
     options = [('NOP', None), ('NOP', None), ('Timestamp', (4182786, 1620720294))] 
###[ Raw ]### 
      load  = b'\x17\x03\x03\x00\xca\x00\x00\x00\x00\x00\x00\x01\xba\xc1\xa0H\xa2\xb3\t\x02:P>\x8b\xeb\xaa\xbd\x83H\x05\x1f(\x02\x80\x9e\x96\xa5\xd9\xf7\xf4\x07&s\xfd6\xb9 \x00\x8c\xcf\xd7\xe4\x04pQ\x992"$\x07R\x02\xb4\x97\xad!\xafB\xc8I\xa6\xe6\x18\xc7x\x16\x9a$c\xc4\x05}\xffl\xe7\x89\x93\xa4\x9a\xf1\x90\x8d\xde"\xe0\xb2\x06\x14(Yk\xf441\xbf\xfa?\xd4puE\x97\xcd\xb1\xc2\xfaaa\x14{\xd4f\x80\xb9\x81keO\x90\x13\x9c\x01\xaa\xe4}\xab{\xd8\x9a\xb3\xe3\x88\xcd:5\xe1\xa9\xd6:\x06l_\xed\xb3\x96=\xcc\x0f?c\xf7\xad\xed\xde\xca||\xd6\xbc\xa4\x99u\xff\xbcI\xe2\x8cQ\xe3\x87\x9f\x18(\rp\x04u\xad\r\xa55\xbe`q\x1b=`5\'\xbc\xf2\x0b\xb9V\x1ecp' 

--UPDATE2-- (от idle3)

>>> from scapy.all import * 
WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6 
>>> text = b"0\x10\xb3\x18\x8b\xfd\xe8t\xe6,\xf1:\x08\x00E\xa0\x004a'@\x004\x06\x90\xa2\x173{\x1b\xc0\xa8\x01d\x00P\xec\xe6\x01\x81%|\[email protected]\x80\x10\x03\xd4(\xbe\x00\x00\x01\x01\x08\nx\x93UR\x00\x00\xd7$" 
>>> text2 = Ether(text) 
>>> text2 
<Ether dst=e8:74:e6:2c:f1:3a src=30:10:b3:18:8b:fd type=0x800 |<IP version=4 ihl=5 tos=0x0 len=98 id=59313 flags=DF frag=0 ttl=64 proto=tcp chksum=0xf26a src=192.168.1.104 dst=216.58.198.46 options=[] |<TCP sport=53826 dport=https seq=2711273246 ack=186806721 dataofs=8 reserved=0 flags=PA window=254 chksum=0x5e95 urgptr=0 options=[('NOP', None), ('NOP', None), ('Timestamp', (4413494, 696334416))] |<Raw load=b'\x17\x03\x03\x00)\x00\x00\x00\x00\x00\x00\x00\x0f\x8d\xdc\x86`:\xe9\x8f=\xec\x89u~\xdf\x7f\x1aN\x85\xf4ESt\xa0oT\xdba\xfan\xc7\xb8\x01\xf8\t' |>>>> 

--UPDATE3-- (печать из program.py)

Ether/IP/TCP 192.168.1.104:53826 > 216.58.198.46:https PA/Raw 

ответ

1

Вы можете попробовать text2.show() вместо print(text2) и посмотреть, как это происходит?

from scapy.all import * 

text = b'\xe8t\xe6,\xf1:0\x10\xb3\x18\x8b\xfd\x08\x00E\x00\x00b\xe7\[email protected]\[email protected]\x06\xf2j\xc0\xa8\x01h\xd8:\xc6.\xd2B\x01\xbb\xa1\x9a\xbf\x1e\x0b"q\xc1\x80\x18\x00\xfe^\x95\x00\x00\x01\x01\x08\n\x00CX6)\x818P\x17\x03\x03\x00)\x00\x00\x00\x00\x00\x00\x00\x0f\x8d\xdc\x86`:\xe9\x8f=\xec\x89u~\xdf\x7f\x1aN\x85\xf4ESt\xa0oT\xdba\xfan\xc7\xb8\x01\xf8\t' 
text2 = Ether(text) 
text2.show() 
+0

Если я заменю печать с помощью show(), теперь результат будет другим. Но это все равно не совпадает с печатью (text2) в idle3. Я вставил вывод в основном. – Sperly1987

+1

@alexj вы можете вставить пример того, что вы ищете? – Noob123

+0

сделанный это .. только обновленный главный вопрос. – Sperly1987

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