首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python黑帽编程 4.1 Sniffer()之数据捕获(上)

    Python黑帽编程 4.1 Sniffer()之数据捕获(上) 网络,是监听流经本机网卡数据包的一种技术,就是利用这种技术进行数据捕获和分析的软件。...编写,捕获数据是前置功能,数据分析要建立在捕获的基础上。本节就数据捕获的基本原理和编程实现做详细的阐述。...4.1.5 解决LINUX上混杂模式问题 至此,一个简单 的程序就完成了,在windows上可以运行无误了。...这里面涉及一个Python编程中python对象和C 类型转换的知识点,我这里就不展开了,不太知道的同学请自行查找资料解决。 这里我们先将要用到的数值封装到类FLAGS中。...4.1.6 小结 到此为止,我们基于raw socket实现的就完成了,实现我们捕获数据的目的。此种方法,需要大家对操作系统本身对网络协议栈的描述,有较为深入的理解。

    3.4K70

    使用mitmproxy双向认证ssl链接——AWS IoT SDK的mqtts

    wiki.dequis.org/notes/facebook/ 用Host-Only模式的virtual box虚拟机当受害者,用iptables使其可以上网,并在虚拟网卡vboxnet0上搭建mitmproxy来...openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out foo.crt   //更改证书格式 python aws-iot-device-sdk-python...axxxxxx9x.iot.us-east-2.amazonaws.com -r foo.crt -c 0000.cert.pem -k 0000.private.key 客户端设备的证书也要经过转换才能提供给mitmproxy,不然服务会断开连接...stable/dev/sslkeylogfile.html 设置环境变量让mitmproxy记录下ssl的密钥: export SSLKEYLOGFILE=~/IoT/keylog      (会影响浏览...2)打开wireshark并设置过滤条件为ssl && tcp.port==8883 3)运行sdk脚本: python aws-iot-device-sdk-python/samples/basicPubSub

    2.6K50

    Python黑帽子》:原始套接字和流量

    通过网络,我们可以捕获目标机器接收和发送的数据包。因此,流量在渗透攻击之前或之后的各个阶段都有许多实际用途。...尽管如此,了解和掌握如何快速地编写自己的,从而显示和解码网络流量,仍是一件很酷炫的事情。编写这样的工具也能加深你对那些能妥善处理各种细节、让你使用起来不费吹灰之力的成熟工具的敬意。...Windows 和Linux 上的包 在Windows 和Linux 上访问原始套接字有些许不同,但我们更中意于在多平台部署同样的以实现更大的灵活性。...在第一个例子中,我们只需设置原始套接字,读取一个数据包,然后退出即可。 首先,我们通过构建套接字对象对网络接口上的数据包进行必要的参数设置①。...仅一个数据包并没有多少实际用处,因此,我们将添加一些功能来处理更多的数据包并解码其中的内容。 ————本文节选自《Python 黑帽子:黑客与渗透测试编程之道》

    1.3K20

    参数化(三):参数

    在之前的随笔中我提到过参数,这是非常重要的概念。下面我们深入的研究一下参数…     首先我们知道批处理可以是参数化的或者非参数化。...参数在这两种类型中是完全相同的。它的行为在两种计划中是完全一样的。因此我们这里不去讨论类型,只关心参数化批处理本身的作用。 什么是参数?...这就是参数。     这是很有用的,因为如果优化不知道参数的值,它将被迫去猜测返回的行数。基于平均统计和其他使用的元数据来尽可能准确地猜测,但是大多数时候仍然与真实行数相去甚远。...编译时的值就是参数用来生成计划的参数。运行时的值是实际在指定计划中的参数。     实际上,第二次执行可能是性能很差的,因为优化在两次生成计划时估计返回数据的行数可能是相差大的。...下一章将介绍如何高效的使用参数

    2K70

    参数化(三):参数

    在之前的随笔中我提到过参数,这是非常重要的概念。下面我们深入的研究一下参数… 首先我们知道批处理可以是参数化的或者非参数化。...参数在这两种类型中是完全相同的。它的行为在两种计划中是完全一样的。因此我们这里不去讨论类型,只关心参数化批处理本身的作用。 什么是参数?...这就是参数。 这是很有用的,因为如果优化不知道参数的值,它将被迫去猜测返回的行数。基于平均统计和其他使用的元数据来尽可能准确地猜测,但是大多数时候仍然与真实行数相去甚远。...编译时的值就是参数用来生成计划的参数。运行时的值是实际在指定计划中的参数。 实际上,第二次执行可能是性能很差的,因为优化在两次生成计划时估计返回数据的行数可能是相差大的。...如果大多数国家有差不多的行数,而且大多数执行使用了这些国家,那么参数是很好的事情,因为大多数情况执行计划是适用的,并且比不带参数的计划要好(未知参数)。

    1.8K20

    一个基于Java的开源URL

    URL探测 ,经过搜索算法来验证这个文本是否有潜在危险的URL地址; 在我介绍URL探测是如何工作的和它所能提供给的功能之前,让我们先来了解一下我们做这个项目的动机。...因为,一个浏览的地址栏中对 URL 的定义比起 在 RFC 1738 定义的来说,是非常松散的。...同时,很多浏览有不同的行为,所以,我们要找到一种URL文本规则能够被大部分流行的浏览解析,它不是像RFC中定义语法那样简单。 最初,我们开始第一种解决方案,基于正则表达式。...然后,如果你想检测到不包含 scheme 的 URL,对应修改正则如下,这是其中一个的例子说明浏览的地址栏可以解析的地址,但是却不符合 RFC 规范。...就这样,我们的 URL探测诞生了。 为了取代使用正则表达式,我们手工打造了一个有限状态机来解析出在文本中的URL。

    1.6K110

    一个基于Java的开源URL

    URL探测 ,经过搜索算法来验证这个文本是否有潜在危险的URL地址; 在我介绍URL探测是如何工作的和它所能提供给的功能之前,让我们先来了解一下我们做这个项目的动机。...因为,一个浏览的地址栏中对 URL 的定义比起 在 RFC 1738 定义的来说,是非常松散的。...同时,很多浏览有不同的行为,所以,我们要找到一种URL文本规则能够被大部分流行的浏览解析,它不是像RFC中定义语法那样简单。 最初,我们开始第一种解决方案,基于正则表达式。...就这样,我们的 URL探测诞生了。 为了取代使用正则表达式,我们手工打造了一个有限状态机来解析出在文本中的URL。...所以,我们的状态机的平均运行时间有显著的改善: 以下是一些关于性能提升的统计数据( 正则表达式 VS URL的探测 ): ?

    1.7K20
    领券