国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python TCP包注入方式

瀏覽:39日期:2022-07-26 13:02:18

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

#! /usr/bin/env pythonimport socketimport struct def checksum(data): s = 0 n = len(data) % 2 for i in range(0, len(data)-n, 2): s+= ord(data[i]) + (ord(data[i+1]) << 8) if n: s+= ord(data[i+1]) while (s >> 16): s = (s & 0xFFFF) + (s >> 16) s = ~s & 0xffff return s class ip(): def __init__(self, source, destination): self.version = 4 self.ihl = 5 # Internet Header Length self.tos = 0 # Type of Service self.tl = 0 # total length will be filled by kernel self.id = 54321 self.flags = 0 # More fragments self.offset = 0 self.ttl = 255 self.protocol = socket.IPPROTO_TCP self.checksum = 0 # will be filled by kernel self.source = socket.inet_aton(source) self.destination = socket.inet_aton(destination) def pack(self): ver_ihl = (self.version << 4) + self.ihl flags_offset = (self.flags << 13) + self.offset ip_header = struct.pack('!BBHHHBBH4s4s', ver_ihl, self.tos, self.tl, self.id, flags_offset, self.ttl, self.protocol, self.checksum, self.source, self.destination) return ip_header class tcp(): def __init__(self, srcp, dstp): self.srcp = srcp self.dstp = dstp self.seqn = 0 self.ackn = 0 self.offset = 5 # Data offset: 5x4 = 20 bytes self.reserved = 0 self.urg = 0 self.ack = 0 self.psh = 1 self.rst = 0 self.syn = 0 self.fin = 0 self.window = socket.htons(5840) self.checksum = 0 self.urgp = 0 self.payload = '' def pack(self, source, destination): data_offset = (self.offset << 4) + 0 flags = self.fin + (self.syn << 1) + (self.rst << 2) + (self.psh << 3) + (self.ack << 4) + (self.urg << 5) tcp_header = struct.pack('!HHLLBBHHH', self.srcp, self.dstp, self.seqn, self.ackn, data_offset, flags, self.window, self.checksum, self.urgp) #pseudo header fields source_ip = source destination_ip = destination reserved = 0 protocol = socket.IPPROTO_TCP total_length = len(tcp_header) + len(self.payload) # Pseudo header psh = struct.pack('!4s4sBBH', source_ip, destination_ip, reserved, protocol, total_length) psh = psh + tcp_header + self.payload tcp_checksum = checksum(psh) tcp_header = struct.pack('!HHLLBBH', self.srcp, self.dstp, self.seqn, self.ackn, data_offset, flags, self.window) tcp_header+= struct.pack('H', tcp_checksum) + struct.pack('!H', self.urgp) return tcp_header def test(source,site,data):s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)src_host=sourcedest_host=socket.gethostbyname(site)# IP Headeripobj=ip(src_host,dest_host)iph=ipobj.pack()# TCP Headertcpobj=tcp(1234,80)tcpobj.data_length=len(data)tcph=tcpobj.pack(ipobj.source,ipobj.destination)# Injectionpacket=iph+tcph+datas.sendto(packet,(dest_host,80))s.close() if __name__ == ’__main__’:test('10.0.0.1','www.baidu.com','ITS TEST')

補充知識:python3 socket抓包

看代碼吧!

import sockets=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_TCP)while True:print(s.recvfrom(65565))

以上這篇python TCP包注入方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 九九99久久精品国产 | 日日摸夜夜搂人人要 | 免费看香港一级毛片 | 国产成人在线看 | 久久亚洲人成国产精品 | 成年人在线免费观看视频网站 | 日本一级特黄啪啪片 | 免费的一级片网站 | 中国国语毛片免费观看视频 | 日本三级全黄三级a | 手机在线免费看毛片 | 欧美丰满大乳大屁股毛片 | 国产高清厕所盗摄视频 | 三级毛片免费 | 国产日韩亚洲欧美 | 506rr亚洲欧美 | 亚洲综合成人在线 | 在线精品免费观看综合 | 亚洲欧美一区二区三区在线 | 国产成人精品视频在放 | 久草网视频在线观看 | 亚洲天堂色网站 | 99在线在线视频免费视频观看 | 精品日韩在线视频一区二区三区 | 欧美在线视频 一区二区 | 国产亚洲精品影达达兔 | 日本免费大黄在线观看 | 久久精品国产精品亚洲毛片 | 成人国产在线看不卡 | 色老久久精品偷偷鲁一区 | 亚洲男人的性天堂 | 午夜国产片 | 免费99视频有精品视频高清 | 国产精品亚洲第一区柳州莫青 | 色妇女影院| 国产精品男人的天堂 | 欧美成人猛男性色生活 | 日本一区二区三区四区五区 | 91久久精品国产91久久性色tv | 亚洲视频观看 | 一区二区三区欧美日韩国产 |