精华内容
下载资源
问答
  • python 抓包保存为pcap文件并解析
    2020-12-04 19:51:08

    首先是抓包,使用scapy模块,

    sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件

    若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理

    import os

    from scapy.all import *

    pkts=[]

    count=0

    pcapnum=0

    filename=''

    def test_dump_file(dump_file):

    print "Testing the dump file..."

    if os.path.exists(dump_file):

    print "dump fie %s found." %dump_file

    pkts=sniff(offline=dump_file)

    count = 0

    while (count<=2):

    print "----Dumping pkt:%s----" %dump_file

    print hexdump(pkts[count])

    count +=1

    else:

    print "dump fie %s not found." %dump_file

    def write_cap(x):

    global pkts

    global count

    global pcapnum

    global filename

    pkts.append(x)

    count +=1

    if count ==3: #每3个TCP操作封为一个包(为了检测正确性,使用时尽量增多)

    pcapnum +=1

    pname="pcap%d.pcap"%pcapnum

    wrpcap(pname,pkts)

    filename ="./pcap%d.pcap"%pcapnum

    test_dump_file(filename)

    pkts=[]

    count=0

    if __name__=='__main__':

    print "Start packet capturing and dumping ..."

    sniff(filter="dst net 127.0.0.1 and tcp",prn=write_cap) #BPF过滤规则

    下面是对pcap文件的解析,会自动查找下一个pcap文件,按照src.ip和dst.ip进行划分

    # -*- coding: cp936 -*-

    import re

    import zlib

    import os

    from scapy.all import *

    num=1

    a=rdpcap("pcap1.pcap") #循环打开文件

    while True:

    try:

    num+=1

    file_name="pcap%d.pcap" % num

    b=rdpcap(file_name)

    a=a+b

    except:

    break

    print "[*] Read pcap file ok"

    print "[*] Begin to parse pcapfile..."

    print a

    try:

    #print "[*] OPen new pcap_file %s" % pcap_file

    sessions=a.sessions()

    for session in sessions:

    print "[*]New session %s" % session

    data_payload=""

    for packet in sessions[session]:

    try:

    data_payload +=str(packet[TCP].payload)

    print "[**] Data:%s" % data_payload

    except:

    pass

    except:

    print "[*]no pcapfile..."

    更多相关内容
  • Python抓包并解析json爬虫 在使用Python爬虫的时候,通过抓包url,打开url可能会遇见以下类似网址,打开后会出现类似这样的界面,无法继续进行爬虫: 例如: 需要爬取网页中第二页的数据时,点击F12:right_arrow:...
  • 今天小编就为大家分享一篇python 抓包保存为pcap文件并解析的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python抓包第三方库

    2016-03-10 09:23:42
    python抓包第三方库
  • mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。 mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python...
  • 如果你习惯于用python3,数据包的分析完全可以放在3下面做,因为抓包和分析是两个完全独立的过程。 需要的python包:scapy和dpkt 抓包代码: from scapy.sendrecv import sniff from scapy.utils import wrpcap ...
  • 配置 大佬的博客真的很详细很详细,我就不重复造轮子了,看这里 补充解释 在这一步疑问很多,大佬说的不是很详细,就由我来补充下吧~ ... 之后会这样提示:我们要记住图中的红色方框圈起来的! 第一个是手机代理IP和...
  • 一、使用 安装 pip install mitmproxy mitmproxy 是具有控制台界面的交互式,支持SSL的拦截代理 mitmdump是mitmproxy的命令行版本。... mitmweb 是一个基于web的界面,适用于mitmproxy mitmproxy(mac)、mitmdump、...
  • 获取指定网卡上数据刘,解析出其中的 tcp封包信息
  • 抓包工具,结合python开发,实现网页流分析并抓包数据
  • https,python抓包知多少在有些情景下,需要拦截所有的http包和https数据包,http包很好抓,但是https包相对比较复杂,在此文章中,主要介绍http和https混合代理。首先简单介绍下https,https=http+ssl,整体认证过程很复杂...

    原标题:http&https,python抓包知多少

    在有些情景下,需要拦截所有的http包和https数据包,http包很好抓,但是https包相对比较复杂,在此文章中,主要介绍http和https混合代理。

    首先简单介绍下https,https=http+ssl,整体认证过程很复杂,其主要目的是为了防止中间人对数据进行监听或者篡改,其代理大致流程(不完整)为:

    由于整个过程涉及非常多的加密解密知识,实现起来非常麻烦,所以我们选择了python(最新版)内置的ssl模块来帮助我们实现这个代理。

    官方方给ssl模块的解释是:TLS/SSL wrapper for socket objects,即socket对象的tls/ssl的封装。

    服务端使用可以参考其官方文档:

    https://docs.python.org/2/library/ssl.html#server-side-operation。

    首先,因为这个代理是http与https的混合代理,所以肯定不能直接使用内置模块监听在代理端口,这样一来就要求所有流量走https代理了,所以要先用socket模块,在代理端口监听,一旦有客户端连接,就新开一个线程处理连接。

    client_conn函数:接收对方传来的第一个数据包,第二个参数https为该链接是否是https的标记。

    这么做的原因是:混合代理判断数据包是http还是https的唯一方法,就是浏览器器如果发送https包,在传输前会先向代理发送一个CONNECT请求,通过第一个数据包,可以判断接下来的数据是https还是http包。

    get_res函数:判断data数据包是不是CONNECT请求,如果是则走https通道,如果不是,则将数据包解析成请求,将其头和post data等解析出来。在此处,为了方便,代理脚本对外请求使用的是requests库而非socket,这样无论https还是http都可以很方便地获得结果。

    get_str函数:对get_res中requests对外请求的结果进行包装,将其还原为http返回包。

    https通道:将connstream通过ssl模块封装后转成正常socket,重新回到client_conn函数,视为正常http处理通信数据包。

    res_deal:对返回包进行处理。

    content_deal:对请求包进行处理,但不会影响requests的请求参数。

    key.pem和key.crt都是本地生生成的,可以通过如下命令生生成:

    openssl req -new -x509 -days 365 -nodes -out key.crt -keyout key.pem

    在实际使用的过程中,很多人觉得这个代理相对其他代理比较慢,主要原因是后期使用requests库进行请求,会比socket直接请求浪费时间,而且期间各种数据包处理理也需要消耗时间。

    另外还有人觉得这种https代理很麻烦,因为浏览器会飘红,每次都要询问你是否信任该证书,但是,这个是必须会有的,没有办法绕过。因为你的目的是在中间拦截https的数据包,而https产生的目的就是要防止被中间人拦截。

    本文作者:点融安全应急响应中心(简称DSRC),点融非常重视其产品的安全性。DSRC愿与众多安全爱好者共同守卫点融安全,为投资者的资金安全、个人信息安全保驾护航。

    责任编辑:

    展开全文
  • Python抓包并解析json爬虫

    千次阅读 多人点赞 2020-11-01 22:18:19
    Python抓包并解析json访问爬虫 在使用Python爬虫的时候,通过抓包url,打开url可能会遇见以下类似网址,打开后会出现类似这样的界面,无法继续进行爬虫: 例如: 需要爬取网页中第二页的数据时,点击F12➡网络...

    Python抓包并解析json爬虫

    在使用Python爬虫的时候,通过抓包url,打开url可能会遇见以下类似网址,打开后会出现类似这样的界面,无法继续进行爬虫:
    在这里插入图片描述

    例如:
    需要爬取网页中第二页的数据时,点击F12➡网络(Network)➡XHR,最好点击清除键,如下图:
    在这里插入图片描述
    通过点击“第二页”,会出现一个POST请求(有时会是GET请求),点击POST请求的url,(这里网址以POST请求为例),如图:
    在这里插入图片描述然后复制参数代码

    代码展示:

    import requests
    import json
    
    url = 'https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031130211378497389'
    
    header={
    'authority': 'm.ctrip.com',
    'method': 'POST',
    'path': '/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031130211378497389',
    'scheme': 'https',
    'accept': '*/*',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cache-control': 'no-cache',
    'content-length': '278',
    'content-type': 'application/json',
    'cookie': '__utma=1.1986366783.1601607319.1601607319.1601607319.1; __utmz=1.1601607319.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _RSG=blqD1d4mGX0BA_amPD3t29; _RDG=286710759c35f221c000cbec6169743cac; _RGUID=0850c049-c137-4be5-90b7-0cd67093f28b; MKT_CKID=1601607321903.rzptk.lbzh; _ga=GA1.2.1986366783.1601607319; nfes_isSupportWebP=1; appFloatCnt=8; _gcl_dc=GCL.1601638857.CKzg58XqlewCFQITvAodioIJWw; Session=SmartLinkCode=U155952&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=&SmartLinkLanguage=zh; Union=OUID=index&AllianceID=4897&SID=155952&SourceID=&createtime=1602506741&Expires=1603111540922; MKT_OrderClick=ASID=4897155952&AID=4897&CSID=155952&OUID=index&CT=1602506740926&CURL=https%3A%2F%2Fwww.ctrip.com%2F%3Fsid%3D155952%26allianceid%3D4897%26ouid%3Dindex&VAL={"pc_vid":"1601607319353.3cid9z"}; MKT_Pagesource=PC; _RF1=218.58.59.72; _bfa=1.1601607319353.3cid9z.1.1602506738089.1602680023977.4.25; _bfi=p1%3D290510%26p2%3D290510%26v1%3D25%26v2%3D24; MKT_CKID_LMT=1602680029515; __zpspc=9.5.1602680029.1602680029.1%232%7Cwww.baidu.com%7C%7C%7C%25E6%2590%25BA%25E7%25A8%258B%7C%23; _gid=GA1.2.1363667416.1602680030; _jzqco=%7C%7C%7C%7C1602680029668%7C1.672451398.1601607321899.1602506755440.1602680029526.1602506755440.1602680029526.undefined.0.0.16.16',
    'cookieorigin': 'https://you.ctrip.com',
    'origin': 'https://you.ctrip.com',
    'pragma': 'no-cache',
    'referer': 'https://you.ctrip.com/',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-site',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
    }
    
    dat = {
        "arg": {
            'channelType': 2,
            'collapseType': 0,
            'commentTagId': 0,
            'pageIndex': 1,
            'pageSize': 10,
            'poiId': 75648,
            'sortType': 3,
            'sourceType': 1,
            'starType': 0
        },
        "head": {
            'auth': "",
            'cid': "09031117213661657011",
            'ctok': "",
            'cver': "1.0",
            'extension': [],
            'lang': "01",
            'sid': "8888",
            'syscode': "09",
            'xsid': ""
        }
    }
    
    r = requests.post(url, data=json.dumps(dat), headers=header)
    s = r.json()
    print(s)
    
    

    运行结果:
    在这里插入图片描述然后右击结果,再点击Show as JSON:
    在这里插入图片描述最后就会出现目标url的响应信息,就可以进行爬取了!!!

    展开全文
  • 方便pythoner做网络抓包工作的工具。 方便下载。
  • mitmdump是mitmproxy所提供的命令之一。它提供类似于tcpdump的功能,让您可以查看、记录和以编程方式转换HTTP流量。

    提前声明:该专栏涉及的所有案例均为学习使用,如有侵权,请联系本人删帖!

    在这里插入图片描述

    一、前言

    除了我们的抓包软件fiddler和Charles,我们今天再介绍一款抓包工具mitmproxy。

    不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。举例来说,利用 fiddler 可以过滤出浏览器对某个特定 url 的请求,并查看、分析其数据,但实现不了高度定制化的需求,类似于:“截获对浏览器对该 url 的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知”。而对于 mitmproxy,这样的需求可以通过载入自定义 python 脚本轻松实现。

    二、安装mitmproxy工具

    
                                            
    展开全文
  • Python抓包

    千次阅读 2019-01-12 17:35:57
    scapy:底层使用libpcap,最强大的抓包和分析库,支持shell。还能主动构造数据包,解析ssl等。 pyshark:基于tshark的工具。 pypcap:长期不维护的pcap抓包库。基于libpcap。 dpkt:很不错的数据包解析工具 pyl....
  • iface: 指定在哪个网络接口上抓包 count: 表示要捕获数据包的数量。默认为0(不限制数量) filter: 流量的过滤规则。使用的是BPF的语法 prn: 定义回调函数,使用lambda表达式来写回调函数(当符合filter的流量被捕获时...
  • python 抓包与解包

    万次阅读 多人点赞 2018-07-19 10:31:39
    我使用的环境为:Windows10、python3.6、scapy 2.4.0 下面是代码: import os from scapy.all import sniff,wrpcap,Raw,IP,TCP def scanMacIp(): ''' scapy扫描获取局域网主机mac和ip ''' from scapy.all ...
  • 未完待续
  • 本文实例为大家分享了python调用tcpdump抓包过滤的具体代码,供大家参考,具体内容如下 之前在linux用python脚本写一个抓包分析小工具,实在不想用什么libpcap、pypcap所以,简单来了个tcpdump加grep搞定。基本思路...
  • python抓包实现知乎的私信发送功能!?...作者:elliot,一个有着全栈幻想的新零售产品经理github:https:github.combkidydida_spider说起python爬虫,很多人第一个反应可能会是scrapy或者pyspider,但是今天文章里...
  • 使用fiddler工具进行抓包,使用python进行osc乱弹抢沙发
  • 利用Fiddler抓包分析毒舌影评社区的APP api接口。单机版的scrapy爬虫,基于scrapy-redis
  • 该脚本使用python通过winpcap和网卡驱动交互,从而实现抓包和跨协议栈的发包功能; 在入口函数中增加了脚本使用说明和举例! s = SNIFFER(interface)#设置待监听的网卡 s.start()#设置启动线程开始监听网卡 time....
  • python抓包模块

    2017-08-15 13:09:00
    pcapy模块 安装 yum install -y epel-release ...yum install -y pip gcc gcc-c++ libpcap-devel python-devel pip install pcapy import pcapy as pcreader = pc.open_live("ens9f0", 65536, 1, 2000)dumper ...
  • python 网络抓包

    千次阅读 2020-12-02 13:22:20
    Python下的网络抓包库pylibpcap、pypcap、pycap这些库其实这些都是libpcap的Python绑定实现,libpcap才是真正的核心。pypcap目前pypcap和pylibpcap比较流行,特别说一下pypcap在Linux上的编译安装时,首先用python ...
  • 利用Charles+Python抓包获取App数据

    千次阅读 2018-07-21 14:17:50
    所以同事让我帮忙尝试抓包. 利用Charles打开以后. 发现有些json的URL是可以直接打开. 这种是最舒服的. 并且,手动调整offlet和limit就可以爬完了. 而有些是打不开的. 并且显示 {"message":"...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,233
精华内容 20,493
关键字:

python抓包

友情链接: CHUONG1.rar