IPパケットの構造解析?みたいな。
ネットワーク。完全体 が終わって…一段落!は無くて…
師匠から『IPパケットがどういう構造になっているかバイナリから調べれるといいね!』とのこと。
俺『死ぬぅwww…けど、パケットキャプチャが超たのしかったし、やってみよーかな。』
ってなって、難関がいくつかありました…。
難関って?
from struct import pack,unpack
の
pack('hhl',1,2,3) unpack('!cBH',fafabaa)
とか!!
の使い方!!
今まで触ったことすら無いのに…師匠はこれを使ってやった方がいいとのこと!
むぅー!!全くわからないwww
あとパケットってどんな形してるねんww
http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_02.html
⬆の記事読んでふむふむ…。
http://docs.python.jp/2/library/struct.html
⬆のライブラリとにらめっこ…。
楽しくない!!www
〜2日後〜 (今日)
なぜか訳が分からないですが、ピーッンと来たのでソースを書きました。
なぜか書き終えれましたwww
from socket import inet_ntoa as _x from struct import unpack as _u,pack as _p #socket.inet_ntoa with file('/etc/protocols') as AP: APL={} FLAG=0 for line in AP: if line.startswith('#'): continue else: if line.startswith('ip'): FLAG=1 hoge= line.split() APL[hoge[1]] = hoge[2] elif FLAG: hoge= line.split() APL[int(hoge[1])] = hoge[2] STR='ffffffffffff1040f3954f5e08004500008c4a8700004011ab86c0a80104c0a801ff445c445c00786f377b22686f73745f696e74223a203533363534393532372c202276657273696f6e223a205b312c20385d2c2022646973706c61796e616d65223a2022353336353439353237222c2022706f7274223a2031373530302c20226e616d65737061636573223a205b3137393036343631325d7d' STR2='' hexchr =lambda x: chr(int(x,16)) _f = lambda x,y,z: _u(x,y[z:z+4]) _c = lambda z:_x(_p('!I',z[0])) for i in range(0,len(STR),2): STR2+= hexchr(STR[i]+STR[i+1]) else: STR2=STR2[14:] vs_and_hdl,TOS,len = _f('!cBH',STR2,0) #_u('!cBH',STR2[0:4]) id,fs_fr= _f('!2H',STR2,4)#_u('!2H',STR2[4:8]) ttl,proto,chksm = _f('!BBH',STR2,8) src=_f('!L',STR2,12) dst=_f('!L',STR2,16) vs = hex(ord(vs_and_hdl))[2] hdl = hex(ord(vs_and_hdl))[3] proto = APL[proto] chksm = hex(chksm) print vs,hdl,TOS,len print id,fs_fr,ttl,proto,chksm print _c(src) print _c(dst) 実行結果: 4 5 0 140 19079 0 64 UDP 0xab86 192.168.1.4 192.168.1.255
です!!
全く手が止まりませんでした!!(楽し過ぎてww
はぁーい。
ね。
この結果合ってんのかよ!!ブチ切れ。
ってなるかもしれないので、
Scapyの結果と合わせましょう。
###[ IP ]### version = 4L ihl = 5L tos = 0x0 len = 140 id = 19079 flags = frag = 0L ttl = 64 proto = udp chksum = 0xab86 src = 192.168.1.4 dst = 192.168.1.255
これがScapyの結果です。
全く一緒です!!ドヤぁー!!11
マジで師匠のおかげですわ…こんなデクノボーをここまで教えてくるとは(感激
今ちょうど 2:30分。 寝よう。 けど、生きる気力がないので、
能年ちゃんの写真見て元気もらいます!
次師匠がどんなもの作ったら成長できるか教えてくれるのが楽しみです笑。
おやすみー!!