![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
jeanphorn
这个作者很懒,什么都没留下…
展开
-
python 多线程 start_new_thread()
一、简述 CPython实现细节: 由于GIL(Global Interpreter Lock),在CPython中一次只能有一个线程来执行python代码,不过有些面向执行的库可以克服这个限制。如果想要使你的应用程序更好的利用计算机资源的话,最好使用multiprocessing。 但是,如果同时运行多个I/O任务的话,线程依然是一个很好地选择。 python线程的作用主要是应对I/O任务原创 2015-04-22 15:00:33 · 31805 阅读 · 1 评论 -
python 利用Raw Socket进行以太网帧嗅探
1. Raw Socket基础提供了一种方法来绕过整个网络堆栈遍历和直接将以太网帧输送到一个应用程序。有很多种方法来创建raw sockets,例如AF_PACKET,PF_PACKET。这里使用PF_PACKET,它是linux系统上才有的选项,如果是windows或者是mac的系统的话,可以使用AF_PACKET。 1.1 PF_SOCKET在链路层接收和发送包得应用接口。所原创 2015-05-04 16:34:41 · 17045 阅读 · 0 评论 -
python scapy网络嗅探
1. 介绍 scapy是一个可用于网络嗅探的非常强大的第三方库。在网络嗅探方面前面的博文介绍过通过Raw Socket进行网络嗅探,但是Raw Socket比较底层,使用起来可能不太容易而且在不同的系统上也有一定的区别。 在网络流量嗅探方面,常用的一些第三方库: pylibpcappycapypypcapimpacketscapy 接下来我详细介绍下scapy的使用,它在这些原创 2015-05-13 21:56:39 · 16270 阅读 · 1 评论 -
python 使用scapy库进行ARP欺骗
1. 说明 ARP欺骗(ARP spoofing),又称ARP病毒(ARP poisoning)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定电脑或所有电脑无法正常连接。最早探讨ARP欺骗的文章是由Yuri Volobue所写的《ARP与ICMP转向游戏》(ARP and ICMP redirection g原创 2015-05-14 21:20:27 · 10561 阅读 · 0 评论 -
python 抓取网页
1. 主要内容 此部分的主要内容包括:抓取网页的的基本方法。使用urllib和urllib2库。可以使用参数编码。2. 代码举例2.1 基本的抓取 使用sudo python命令,进入python环境。在此之前可以自己搭一个web服务器,专门做测试用。我在我的一个Ubuntu系统中搭建了LNMP环境,地址为192.168.1.33。 其实python代码很简洁,抓取一个网页只需要两原创 2015-06-18 21:18:34 · 7880 阅读 · 0 评论 -
python 解析HTML
1. 理解网页上的数据网页上的数据主要有: HTMLXHTMLXMLJSON需要一个接受数据并解析的机制需要一个产生数据并发送的机制2. 解析HTML层次化的数据有多个解析HTML的第三方库,例如:LXML,BeautifulSoup,HTMLParser等等。解析HTML所面临的问题: 没有统一的标准。很多网页并没有遵循HTML文档2.1 BeautifulSoup原创 2015-06-25 21:36:07 · 9942 阅读 · 0 评论 -
python 使用scapy进行帧注入
1. 描述 使用scapy进行以太网帧的注入,相对于RAW_SOCKET还是比较简单的。在讲述packet注入之前,先了解一下scapy伪造以太网帧的相关知识。下图为以太网帧格式和scapy对应的封装包格式。 2. 示例2.1 使用scapy构造IP数据包 进入scapy环境,输入以下代码: >>> >>> pkt = IP()/ICMP()/”hello” >>原创 2015-06-06 20:23:05 · 11436 阅读 · 0 评论 -
python 使用scapy进行ARP扫描
一. 描述 使用scapy第三方库,编写一个可以对一个网段进行ARP扫描,获得该往段内活跃主机的IP地址和MAC地址。二. 分析与方案首先,从scapy导入相关的模块。Ether()/ARP()构造ARP包。srp1()发送与接收ARP包。代码示例如下:#!/usr/bin/env python# _*_ coding=utf-8 _*_from scapy.all import *i原创 2015-06-08 09:16:58 · 20348 阅读 · 0 评论 -
python 使用scapy编写DNS Fuzzer
1. 描述 使用scapy库,编写一个DNS Fuzzer工具,并测试。在这之前,先说明一下DNS协议请求包是封装在IP包中的UDP包(有些情况也可使用TCP)中,且UDP的端口为53。进入scapy,查看一下UDP和DNS包的封装情况。 2. 代码示例 代码中,我们需要对输入的IP地址做合法性校验。这需要用到netaddr中的valid_ipv4,可以执行sudo pip install原创 2015-06-08 10:35:28 · 12025 阅读 · 1 评论 -
python 页面信息抓取
1. 特点 在python 解析html这篇文章中已经做了初步的介绍,接下来再坐进一步的说明。python抓取页面信息有以下两个特点: 依赖于HTML的架构。微小的变化可能会导致抓取失败,这取决于你编码的技巧。2. 抓取示例 首先看一下百度视频网页的源代码,大致浏览下,选定要抓取的网页元素。 假设我们要对div标签id为focusCarouselList里的相关原创 2015-07-09 12:17:12 · 7040 阅读 · 0 评论 -
Python使用struct处理二进制(pack和unpack用法)
转载自:http://www.cnblogs.com/gala/archive/2011/09/22/2184801.html有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(),转载 2015-05-04 11:15:03 · 3006 阅读 · 0 评论 -
python SocketServer 框架编程
1. SocketServer框架 在python中,socketserver是一个已集成的模块,它有以下特点: 可用SocketServer框架创建TCP和UDP服务器。在后台为你做好每一个基础步骤。可以手动创建一个服务器欺骗客户端和分析它的行为。2. SocketServer模块的用法必须是BaseRequestHandler的子类重写handle()函数调用handle_原创 2015-04-30 16:59:43 · 6295 阅读 · 2 评论 -
linux下 python 监控usb设备信号
1. linux下消息记录 关于系统的各种消息一般都会记录在/var/log/messages文件中,有些主机在中默认情况下有可能没有启用,具体配置方法可参考下面这篇博客: 系统日志配置 /var/log/messages2. python 代码实现 原理其实很简单,就是读/var/log/messages文件,找到有关usb的信息就可以了。 #!/usr/bin/env pytho原创 2015-04-30 16:16:59 · 9074 阅读 · 2 评论 -
python 目录操作
一、 主要的目录操作变换目录的方法。列出文件和文件信息。创建和删除目录。检测是目录还是文件。查找指定类型的文件。二、 详细使用。 首先,导入os模块。import os 获取当前目录:os.getcwd()。 创建目录: os.mkdir() 列出目录下文件:os.listdir(path) - os.listdir(".")列出当前目录。 - os.原创 2015-04-22 10:21:05 · 3894 阅读 · 0 评论 -
python 系统编程之创建进程 create process
一、forking 进程通过fork产生的进程有以下几个特点:是一个进程的克隆。创建的进程独立于父进程单独存在。线程在调用fork()那那点被复制执行。 在子线程中返回0。在父线程中返回子线程的pid子线程的PID不同于父线程。二、代码示例#!/usr/bin/env pythonimport osdef child_process(): print "I am the chi原创 2015-04-22 11:42:11 · 4416 阅读 · 0 评论 -
mac os x下python安装MySQLdb模块
我们需要使用python访问mysql数据库,需要安装MySQLdb模块,方法如下:在下面的网址下载mysqldb模块:http://sourceforge.net/projects/mysql-python/ 在mac os x直接双击解压,命令行进入解压后的目录, 执行python setup.py build如果有sh: mysql_config: command not found 提示转载 2015-04-08 18:12:34 · 1948 阅读 · 0 评论 -
python map()函数
1. 说明 python中的map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 map(function, iterable, …)2. 举例有一个list, L =原创 2015-04-13 21:59:16 · 4805 阅读 · 0 评论 -
Mac os Python 安装 chardet模块
1. chardet模块 Python在处理字符串问题,常常会遇到字符串编码的问题。chardet是一个非常优秀的编码识别模块。 能够识别的格式有:ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simp原创 2015-04-08 18:06:46 · 4515 阅读 · 0 评论 -
python Linux 信号编程 signals
1. Signal介绍 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。信号是进程控制的一部分,也是 Linux编程中非常重要的部分。 signal允许异步处理事件。SIGKILL信原创 2015-04-24 11:37:47 · 5908 阅读 · 0 评论 -
python 创建Web Server
1. Web 服务应用工作机制监听80或者是443端口 80为普通的http协议,443为https。等待客户端请求 GET、POST、HEAD… …处理请求 保存文件执行CGI脚本2. 创建一个简单的Web服务使用SimpleHTTPServer类实现do_GET()方法可以当做刺透客户端的服务端渗透代码可以做渗透测试的客户端代码从终端进入python编辑模式,输入以下代原创 2015-05-02 23:23:17 · 5500 阅读 · 0 评论 -
python 使用Raw Socket进行以太网帧注入
1. 帧注入 对于以太网帧和Raw Socket的介绍可参考之前的一篇博文利用Raw Socket进行以太网帧嗅探。帧注入的特点: 可以将原数据格式的包注入到网络中。在模拟网络应答方面很强大。原始套接字包结构具有不可延展性。 随机注入 如果你可以随机注入数据到网络上的话,你就可以向网络上发送任何数据。^_^2. 代码实验 进入python运行环境,需要加上root权限。(sudo原创 2015-05-09 10:40:18 · 11001 阅读 · 0 评论 -
python C/S模式基础编程 (网络安全系列)
1. socket编程socket类型包括:——TCP socket 和 UDP socket。常规的客户服务区模式。——Raw socket可用于嗅探和注入2. C/S模式 C/S (Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另原创 2015-04-29 20:20:23 · 11548 阅读 · 0 评论 -
python 使用mechanize进行web网页交互
1. 有状态的网页 所谓有状态的网页就是区别于传统html的动态交互式页面,它与用户进行交互显示不同的结果。下面我以新浪邮箱的登陆界面为例: 上面有一个用户登陆的表单,当我们输入正确地用户名密码之后,登陆成功转向邮箱操作窗口,否则给出错误信息。2. 使用python中mechanize库进行处理 使用mechanize库需要注意以下几个特点: mechanize自动处理co原创 2015-07-16 20:55:02 · 9953 阅读 · 0 评论