色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

python構(gòu)造IP報文實例

瀏覽:2日期:2022-07-26 13:12:09

我就廢話不多說了,大家還是直接看代碼吧!

import socketimport sysimport timeimport struct HOST, PORT = '10.60.66.66', 10086 def make_forward_iphdr(source_ip = ’1.0.0.1’, dest_ip = ’2.0.0.2’, proto = socket.IPPROTO_UDP) : # ip header fields ip_ihl = 5 ip_ver = 4 ip_tos = 0 ip_tot_len = 0 # kernel will fill the correct total length ip_id = 54321 #Id of this packet ip_frag_off = 0 ip_ttl = 255 ip_proto = proto ip_check = 0 # kernel will fill the correct checksum ip_saddr = socket.inet_aton ( source_ip ) #Spoof the source ip address if you want to ip_daddr = socket.inet_aton ( dest_ip ) ip_ihl_ver = (ip_ver << 4) + ip_ihl # the ! in the pack format string means network order ip_header = struct.pack(’!BBHHHBBH4s4s’, ip_ihl_ver, ip_tos, ip_tot_len, ip_id, ip_frag_off, ip_ttl, ip_proto, ip_check, ip_saddr, ip_daddr) return ip_header def make_forward_udphdr(src_port = 1024, dst_port = 10086) : udp_header = struct.pack(’!HHHH’, src_port, dst_port, 0, 0) return udp_header # checksum functions needed for calculation checksumdef checksum(msg): s = 0 # loop taking 2 characters at a time for i in range(0, len(msg), 2): w = ord(msg[i]) + (ord(msg[i+1]) << 8 ) s = s + w s = (s>>16) + (s & 0xffff); s = s + (s >> 16); #complement and mask to 4 byte short s = ~s & 0xffff return s def make_tcp_data(ip_header, src_port = 1024, dst_port = 10086, source_ip=’1.0.0.1’, dest_ip=’2.0.0.2’, user_data = ’test’) : tcp_source = src_port # source port tcp_dest = dst_port # destination port tcp_seq = 454 tcp_ack_seq = 0 tcp_doff = 5 #4 bit field, size of tcp header, 5 * 4 = 20 bytes #tcp flags tcp_fin = 0 tcp_syn = 1 tcp_rst = 0 tcp_psh = 0 tcp_ack = 0 tcp_urg = 0 tcp_window = socket.htons (5840) # maximum allowed window size tcp_check = 0 tcp_urg_ptr = 0 tcp_offset_res = (tcp_doff << 4) + 0 tcp_flags = tcp_fin + (tcp_syn << 1) + (tcp_rst << 2) + (tcp_psh <<3) + (tcp_ack << 4) + (tcp_urg << 5) # the ! in the pack format string means network order tcp_header = struct.pack(’!HHLLBBHHH’ , tcp_source, tcp_dest, tcp_seq, tcp_ack_seq, tcp_offset_res, tcp_flags, tcp_window, tcp_check, tcp_urg_ptr) source_address = socket.inet_aton(source_ip) dest_address = socket.inet_aton(dest_ip) placeholder = 0 protocol = socket.IPPROTO_TCP tcp_length = len(tcp_header) + len(user_data) psh = struct.pack(’!4s4sBBH’ , source_address , dest_address , placeholder , protocol , tcp_length); psh = psh + tcp_header + user_data; tcp_check = checksum(psh) #print tcp_checksum # make the tcp header again and fill the correct checksum - remember checksum is NOT in network byte order tcp_header = struct.pack(’!HHLLBBH’ , tcp_source, tcp_dest, tcp_seq, tcp_ack_seq, tcp_offset_res, tcp_flags, tcp_window) + struct.pack(’H’ , tcp_check) + struct.pack(’!H’ ,tcp_urg_ptr) # final full packet - syn packets dont have any data packet = ip_header + tcp_header + user_data return packet

補充知識:python做在域名作為關(guān)鍵字的POST報文集合分類

將報文按域名分成不同的集合,而后寫入excel,主要使用了字典數(shù)據(jù)結(jié)構(gòu)

輸入內(nèi)容:

[域名,post報文(一個域名有多條,在不同行),域名類型]

輸出內(nèi)容:

[域名,POST報文集合,域名類型]

#-*- encoding:UTF-8 -*-import openpyxlfrom openpyxl import load_workbookfrom openpyxl import Workbookimport numpy as npimport pandas as pdimport restrinfo = re.compile(’[ ]+’)book=load_workbook(’ex2.xlsx’,’utf-8’)sheet=book.worksheets[0]rows=sheet.max_rowcols=sheet.max_columnPost={}Type={}for i in range(2,rows+1):#向字典里添加元素 dn=sheet.cell(i,1).value pv=sheet.cell(i,2).value tv=sheet.cell(i,3).value if Post.get(dn)==None:#第一次遇到?個域名 Post[dn]=pv Type[dn]=tv else: Post[dn]+=’n’+pvwb=Workbook()sh=wb.worksheets[0]#輸出表格for i in range(2,rows+1):#從字典中取出內(nèi)容存入excel dn=sheet.cell(i,1).value if i==2: Post[dn]=Post[dn].replace(’/’,’ ’).replace(’:’,’ ’) Post[dn]=Post[dn].replace(’(’,’ ’).replace(’)’,’ ’) Post[dn]=Post[dn].replace(’*’,’ ’).replace(’;’,’ ’) Post[dn]=Post[dn].replace(’t’,’ ’).replace(’n’,’ ’) Post[dn]=Post[dn].replace(’$’,’ ’).replace(’@’,’ ’) Post[dn]=Post[dn].replace(’=’,’ ’).replace(’&’,’ ’) Post[dn]=Post[dn].replace(’,’,’ ’).replace(’?’,’ ’) Post[dn]=strinfo.sub(’ ’,Post[dn]) sh.append([dn,Post[dn],Type[dn]]) else: if dn!=sheet.cell(i-1,1).value: Post[dn]=Post[dn].replace(’/’,’ ’).replace(’:’,’ ’) Post[dn]=Post[dn].replace(’(’,’ ’).replace(’)’,’ ’) Post[dn]=Post[dn].replace(’*’,’ ’).replace(’;’,’ ’) Post[dn]=Post[dn].replace(’t’,’ ’).replace(’n’,’ ’) Post[dn]=Post[dn].replace(’$’,’ ’).replace(’@’,’ ’) Post[dn]=Post[dn].replace(’=’,’ ’).replace(’&’,’ ’) Post[dn]=Post[dn].replace(’,’,’ ’).replace(’?’,’ ’) Post[dn]=strinfo.sub(’ ’,Post[dn]) sh.append([dn,Post[dn],Type[dn]]) else: continuereplace(’_x000D_’,’’)wb.save(’out.csv’)

以上這篇python構(gòu)造IP報文實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品欧美视频另类专区 | 久久亚洲国产成人亚 | 性刺激久久久久久久久 | 欧美一级一一特黄 | 91久久香蕉青青草原娱乐 | 国产高清专区 | 亚洲精品国精品久久99热 | 成年毛片 | 日本一级全黄大片 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 亚洲欧美日产综合在线看 | 女人野外小树林一级毛片 | 国产成人国产在线观看入口 | 欧美a大片欧美片 | 欧美xxxx在线视频 | 一级毛片aaa | 国产真人毛片一级视频 | 99久久精品久久久 | 在线午夜影院 | 国产色司机在线视频免费观看 | 国产高清一区二区三区免费视频 | 国产精品不卡无毒在线观看 | 在线亚洲日产一区二区 | 亚洲精品推荐 | 午夜精品久久久久久毛片 | 午夜欧美日韩在线视频播放 | 国产在线观看一区二区三区 | 在线国产三级 | 男人天堂视频在线 | 亚洲成人在线播放视频 | 麻豆国产96在线 | 中国 | 深夜福利视频在线观看免费播放 | 日本一区三区二区三区四区 | 一本色道久久88亚洲综合 | 一级a毛片 | 欧美69| 国产大陆精品另类xxxx | 亚洲国产精品成人综合久久久 | 日韩a级片 | 午夜免费的国产片在线观看 | 成人网视频免费播放 |