忙不是因为你事情多,是因为你笨

默认分类李魔佛 发表了文章 • 0 个评论 • 1204 次浏览 • 2016-05-22 11:11 • 来自相关话题

时刻提醒自己
 
时刻提醒自己
 
b859de43a362ff7256ebde81909f8682_b_副本.jpg

推荐一个很详细的git教程

默认分类李魔佛 发表了文章 • 0 个评论 • 1080 次浏览 • 2016-05-21 19:40 • 来自相关话题

http://www.open-open.com/lib/view/open1328069889514.html
 
非常详细。
 
刚开始开github的官方教程,一开始看完了,就以为自己学会了。 
殊不知,自己平时写项目的碰到各种莫名其妙的问题,只好东爬西摸,靠着搜索,不懂一点搜一点。 不过这种效果不好,只知道怎么做,却不知道为什么要这么做。
 
偶尔看到上面的一份教程,国人写的,非常详细,比廖雪峰写的都还好。
 
如果耐心看完的话,以后使用git是没啥大问题的啦。 查看全部
http://www.open-open.com/lib/view/open1328069889514.html
 
非常详细。
 
刚开始开github的官方教程,一开始看完了,就以为自己学会了。 
殊不知,自己平时写项目的碰到各种莫名其妙的问题,只好东爬西摸,靠着搜索,不懂一点搜一点。 不过这种效果不好,只知道怎么做,却不知道为什么要这么做。
 
偶尔看到上面的一份教程,国人写的,非常详细,比廖雪峰写的都还好。
 
如果耐心看完的话,以后使用git是没啥大问题的啦。

树莓派2代 接通用usb摄像头

树莓派李魔佛 发表了文章 • 0 个评论 • 4264 次浏览 • 2016-05-21 19:25 • 来自相关话题

首先下载必要的usb播放工具
使用apt-get可以很方便下载到sudo apt-get install fswebcam
sudo apt-get install mplayer
sudo apt-get install alsamixer
安装后接入usb摄像头,在命令行下执行sudo ls /dev/video0









如果有这一个设备,说明你的usb摄像头兼容你的树莓派的驱动,不然还的额外去找第三方的摄像头驱动。

接着可以直接在命令行打开摄像头sudo mplayer tv://
然后选择一个画面进行拍摄sudo fswebcam -no-banner -r 640*480 image.jpg





大功告成。 查看全部
首先下载必要的usb播放工具
使用apt-get可以很方便下载到
sudo apt-get install fswebcam
sudo apt-get install mplayer
sudo apt-get install alsamixer

安装后接入usb摄像头,在命令行下执行
sudo ls /dev/video0




154057zp3w3go3vvizbrlq.png


如果有这一个设备,说明你的usb摄像头兼容你的树莓派的驱动,不然还的额外去找第三方的摄像头驱动。

接着可以直接在命令行打开摄像头
sudo mplayer tv://

然后选择一个画面进行拍摄
sudo fswebcam -no-banner -r 640*480 image.jpg

154058ks2w6tvt2zv4t9dw.png


大功告成。

深漂 -“To be or not To be”

默认分类xenia 发表了文章 • 0 个评论 • 1019 次浏览 • 2016-05-21 10:59 • 来自相关话题

在深圳找租房,真是说多了都是泪~
稍微满意的,要不就是价钱太高,要不就秒租出去了~
 
因为今年房价水涨船高
刚需的望而生畏
同时,房东坐地起价
租客也苦不堪言
在这个一线城市,贫富差距如此之大
是离开
还是继续坚守
成了深漂的“To be or not To be”
 
  查看全部
在深圳找租房,真是说多了都是泪~
稍微满意的,要不就是价钱太高,要不就秒租出去了~
 
因为今年房价水涨船高
刚需的望而生畏
同时,房东坐地起价
租客也苦不堪言
在这个一线城市,贫富差距如此之大
是离开
还是继续坚守
成了深漂的“To be or not To be”
 
 

宝贝,自从有了你

默认分类xenia 发表了文章 • 0 个评论 • 1097 次浏览 • 2016-05-20 11:42 • 来自相关话题

一女同事突然间休了一个多月假,见她昨天回来上班了
“亲,许久不见,休假去哪了” 
她步履蹒跚的走过来,说了句“哎,累着了”
  
通过聊天才得知她怀孕了
但由于初期没有发现,过于劳累,现在还处于保胎过程中
她说她其实在这休假一个月
每一次出现任何不好的状况,都让她心惊胆战,百度了无数答案
于求心安
但百度也有更多的不好的答案及评论,让她不寒而栗
她只求快点度过这前三个月,一切顺利就好
也许同样作为孕期,我非常理解她的感受
 
不禁让我想起了我刚刚过去的“前三个月”
至今记忆犹新
我记得在两个月的时候,突然间胃口全无,无论是厨房油烟的味道,洗手间的味道,甚至打开冰箱门散发出来的味道,都让我的胃翻江倒海
见到曾经我最爱的“肉食” 也都无动于衷
鸡蛋更加不敢碰,还记得当时非常嫌弃吃鸡蛋,还被LG说“太矫情,太公主了”
那段时间内心充满了委屈,经常不自觉的掉眼泪,心想,他怎么这么不理解我呢?

想想平时坐长途车都没事,但那会连坐一趟短暂的公交也吐得稀里哗啦,出门随身都得备着塑胶袋
刚好当时碰上过年假期
本以为可以享受过年大鱼大肉,可惜,每天只能将就吃点白粥咸菜,可怜兮兮
当时,委屈得在给妈妈的电话中难以自拔地放声大哭
不停地说着“ 妈妈,实在太难受了”
妈妈也只能安慰我说”别怕 孩子,熬完前三个月就会好起来的,就算吐也要勉强自己多吃点,不要饿坏了“
真的好不容易边强忍着饿,边强忍着吐
就这样,坚持上班,度过了这痛苦的前三个月~
 
现在才深深明白
只有一个女孩当她自己成为了母亲,才更理解自己的母亲
想起自己叛逆时期,经常顶撞母亲,内心顿时愧疚不已...
以后一定要好好孝敬自己的妈妈才行啊~
十月怀胎真心不易
胎儿的一举一动,每次的孕检数据,都牵动着妈妈的心
还记得去检查唐氏的忐忑,四维彩超的不安,糖耐的痛苦
幸运的是都顺利走过来了
还有几个月就要和宝宝见面了
在接下来的日子里
心里只有一个单纯的愿望“只要宝宝健康,足月出生,平安快乐的成长就好,别无所求”~
 

 
 
 
 
 
  查看全部
一女同事突然间休了一个多月假,见她昨天回来上班了
“亲,许久不见,休假去哪了” 
她步履蹒跚的走过来,说了句“哎,累着了”
  
通过聊天才得知她怀孕了
但由于初期没有发现,过于劳累,现在还处于保胎过程中
她说她其实在这休假一个月
每一次出现任何不好的状况,都让她心惊胆战,百度了无数答案
于求心安
但百度也有更多的不好的答案及评论,让她不寒而栗
她只求快点度过这前三个月,一切顺利就好
也许同样作为孕期,我非常理解她的感受
 
不禁让我想起了我刚刚过去的“前三个月”
至今记忆犹新
我记得在两个月的时候,突然间胃口全无,无论是厨房油烟的味道,洗手间的味道,甚至打开冰箱门散发出来的味道,都让我的胃翻江倒海
见到曾经我最爱的“肉食” 也都无动于衷
鸡蛋更加不敢碰,还记得当时非常嫌弃吃鸡蛋,还被LG说“太矫情,太公主了”
那段时间内心充满了委屈,经常不自觉的掉眼泪,心想,他怎么这么不理解我呢?

想想平时坐长途车都没事,但那会连坐一趟短暂的公交也吐得稀里哗啦,出门随身都得备着塑胶袋
刚好当时碰上过年假期
本以为可以享受过年大鱼大肉,可惜,每天只能将就吃点白粥咸菜,可怜兮兮
当时,委屈得在给妈妈的电话中难以自拔地放声大哭
不停地说着“ 妈妈,实在太难受了”
妈妈也只能安慰我说”别怕 孩子,熬完前三个月就会好起来的,就算吐也要勉强自己多吃点,不要饿坏了“
真的好不容易边强忍着饿,边强忍着吐
就这样,坚持上班,度过了这痛苦的前三个月~
 
现在才深深明白
只有一个女孩当她自己成为了母亲,才更理解自己的母亲
想起自己叛逆时期,经常顶撞母亲,内心顿时愧疚不已...
以后一定要好好孝敬自己的妈妈才行啊~
十月怀胎真心不易
胎儿的一举一动,每次的孕检数据,都牵动着妈妈的心
还记得去检查唐氏的忐忑,四维彩超的不安,糖耐的痛苦
幸运的是都顺利走过来了
还有几个月就要和宝宝见面了
在接下来的日子里
心里只有一个单纯的愿望“只要宝宝健康,足月出生,平安快乐的成长就好,别无所求”~
 

 
 
 
 
 
 

陪着你长大

默认分类xenia 发表了文章 • 0 个评论 • 1049 次浏览 • 2016-05-18 14:14 • 来自相关话题

女同事 三三两两一起吃中饭时,免不了会聊到带娃,婆媳相处等家庭琐事~
 
其中一位同事讲起她和她婆婆相处的经历,让我印象颇深~
由于工作原因,把小孩放在老家留给婆婆带
如今小孩2岁了,当她好不容易请假回到老家看小孩时,发现自己的孩子跟城里的孩子相去甚远
不讲卫生
脾气暴躁
内心孤僻
更为严重的是,连自己的妈妈都不认识,在她婆婆的引导下,竟然把婶婶当做妈妈来喊
她内心隐隐作痛
心里咬着牙 要把小孩接到城里,和自己相处
可惜小孩早已习惯了奶奶,离不开奶奶了,一时之间无法强行让小孩也奶奶分开~
就这样又独自一人返回城里工作
可是她的心五味杂陈~
 
如果不是现实万般无奈
相信很少人会让自己的小孩成为留守儿童~
虽然很理解这位女同事的境遇,但内心泛起涟漪~
做父母的,是否就可以只管生,不管养呢
然后以工作的理由,就把小孩轻易丢给老人带呢
还是要尽自己最大努力,把小孩留在自己身边,一点一滴的教育呢
 
我自己也即将成为母亲了
看到这么多留守儿童的问题,我暗自下定决心
不管有多难
我都要陪着孩子一起长大~
 
 
  查看全部
女同事 三三两两一起吃中饭时,免不了会聊到带娃,婆媳相处等家庭琐事~
 
其中一位同事讲起她和她婆婆相处的经历,让我印象颇深~
由于工作原因,把小孩放在老家留给婆婆带
如今小孩2岁了,当她好不容易请假回到老家看小孩时,发现自己的孩子跟城里的孩子相去甚远
不讲卫生
脾气暴躁
内心孤僻
更为严重的是,连自己的妈妈都不认识,在她婆婆的引导下,竟然把婶婶当做妈妈来喊
她内心隐隐作痛
心里咬着牙 要把小孩接到城里,和自己相处
可惜小孩早已习惯了奶奶,离不开奶奶了,一时之间无法强行让小孩也奶奶分开~
就这样又独自一人返回城里工作
可是她的心五味杂陈~
 
如果不是现实万般无奈
相信很少人会让自己的小孩成为留守儿童~
虽然很理解这位女同事的境遇,但内心泛起涟漪~
做父母的,是否就可以只管生,不管养呢
然后以工作的理由,就把小孩轻易丢给老人带呢
还是要尽自己最大努力,把小孩留在自己身边,一点一滴的教育呢
 
我自己也即将成为母亲了
看到这么多留守儿童的问题,我暗自下定决心
不管有多难
我都要陪着孩子一起长大~
 
 
 

30天学会量化交易模型 Day02

量化交易李魔佛 发表了文章 • 0 个评论 • 15480 次浏览 • 2016-05-17 16:30 • 来自相关话题

github同步代码: https://github.com/Rockyzsu/stock
 30天学会量化交易模型 Day01
 
接着上一篇,如果已经掌握了pandas数据类型的各种使用,就可以进入tushare数据的抓取环节。
 
tushare安装教程:
pip install tushare #最傻瓜且最快的安装方式
 
使用方法:





说明:
获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。本接口只能获取近3年的日线数据,适合搭配均线数据进行选股和分析,如果需要全部历史数据,请调用下一个接口get_h_data()。

参数说明:

code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
start:开始日期,格式YYYY-MM-DD
end:结束日期,格式YYYY-MM-DD
ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0

返回值说明:

date:日期
open:开盘价
high:最高价
close:收盘价
low:最低价
volume:成交量
price_change:价格变动
p_change:涨跌幅
ma5:5日均价
ma10:10日均价
ma20:20日均价
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:换手率[注:指数无此项]
 
如果要获取所有的历史数据,可以使用 ts.get_h_data(股票代码,开始日期,结束日期) 即可。
 

ts.get_hist_data('600848',start='2015-01-05',end='2015-01-09')
 







 其它的一些参数:






 
接着学习数据的存储:
 
首先来扫一下盲: csv和excel的区别:

excel中后缀为csv和xls,二者区别如下:
1、xls 文件就是Microsoft excel电子表格的文件格式。
2、csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
csv是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打
csv文件是以逗号为分隔符号,将各字段列分离出的一种ASCII文件。
csv(*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。
数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。

 

保存为csv格式







############################
获取股市市场的基本信息:
 
stock_info=ts.get_stock_basics()
 
包含了
"""
        获取沪深上市公司基本情况
    Return
    --------
    DataFrame
               code,代码
               name,名称
               industry,细分行业
               area,地区
               pe,市盈率
               outstanding,流通股本
               totals,总股本(万)
               totalAssets,总资产(万)
               liquidAssets,流动资产
               fixedAssets,固定资产
               reserved,公积金
               reservedPerShare,每股公积金
               eps,每股收益
               bvps,每股净资
               pb,市净率
               timeToMarket,上市日期
    """
 
获取所有股市的代码:
stock_info=ts.get_stock_basics()
def get_all_stock_id():
#获取所有股票代码
for i in stock_info.index:
print i
 


下一篇:30天学会量化交易模型 Day03
链接:http://30daydo.com/article/15 

 

  查看全部
github同步代码: https://github.com/Rockyzsu/stock
 30天学会量化交易模型 Day01
 
接着上一篇,如果已经掌握了pandas数据类型的各种使用,就可以进入tushare数据的抓取环节。
 
tushare安装教程:
pip install tushare #最傻瓜且最快的安装方式
 
使用方法:
TuShare_-财经数据接口包.jpg


说明:
获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。本接口只能获取近3年的日线数据,适合搭配均线数据进行选股和分析,如果需要全部历史数据,请调用下一个接口get_h_data()。

参数说明:

code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
start:开始日期,格式YYYY-MM-DD
end:结束日期,格式YYYY-MM-DD
ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0

返回值说明:

date:日期
open:开盘价
high:最高价
close:收盘价
low:最低价
volume:成交量
price_change:价格变动
p_change:涨跌幅
ma5:5日均价
ma10:10日均价
ma20:20日均价
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:换手率[注:指数无此项]
 
如果要获取所有的历史数据,可以使用 ts.get_h_data(股票代码,开始日期,结束日期) 即可。
 

ts.get_hist_data('600848',start='2015-01-05',end='2015-01-09')
 

所有数据.jpg



 其它的一些参数:

TuShare_-财经数据接口包1.jpg


 
接着学习数据的存储:
 
首先来扫一下盲: csv和excel的区别:


excel中后缀为csv和xls,二者区别如下:
1、xls 文件就是Microsoft excel电子表格的文件格式。
2、csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
csv是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打
csv文件是以逗号为分隔符号,将各字段列分离出的一种ASCII文件。
csv(*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。
数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。


 

保存为csv格式

cvs.jpg



############################
获取股市市场的基本信息:
 
stock_info=ts.get_stock_basics()
 
包含了
"""
        获取沪深上市公司基本情况
    Return
    --------
    DataFrame
               code,代码
               name,名称
               industry,细分行业
               area,地区
               pe,市盈率
               outstanding,流通股本
               totals,总股本(万)
               totalAssets,总资产(万)
               liquidAssets,流动资产
               fixedAssets,固定资产
               reserved,公积金
               reservedPerShare,每股公积金
               eps,每股收益
               bvps,每股净资
               pb,市净率
               timeToMarket,上市日期
    """
 
获取所有股市的代码:
stock_info=ts.get_stock_basics()
def get_all_stock_id():
#获取所有股票代码
for i in stock_info.index:
print i

 


下一篇:30天学会量化交易模型 Day03
链接:http://30daydo.com/article/15 

 

 

女生30岁~

默认分类xenia 发表了文章 • 0 个评论 • 1082 次浏览 • 2016-05-17 12:01 • 来自相关话题

最近
一位女性好友失恋,恰逢30岁,这个年龄在中国社会是一个大龄剩女的坎,心急如焚的坎
突然间4年的感情不翼而飞,而后深夜买醉,少了一个人在身边,让她觉得异常孤单
哭过,卑微挽留过
剩下仅存骄傲让她咬着一股气,马不停蹄的开始报名各大交友网站,下班后积极参加各式交友俱乐部的交友活动
只要遇到不会心生讨厌的男生,就开始加微信,交换电话,私聊热聊
到处撒网
她说:不知何时,感觉自己成了一个结婚狂,怕自己30以后没人要了”~
 
我特别理解她的感受,曾经我也在28岁失恋后,心急如焚过~
而当我29岁时,在一个陌生的城市,遇到了生命中的他(这些都不是我能预计的)
幸福就像命中注定的出现了~
所以作为过来人,我只能安慰和鼓励她“ 亲爱的,请相信属于你的缘分是一定存在的”
这句轻描淡写的话,不知道对她有没有任何温暖的作用
但是在中国这样一个社会,看到一个30岁的女生为了把自己嫁出去,作出的不懈努力,看到她每次开心地和我分享找到潜在发展的对象时,作为朋友的我,除了祝福外,能给的就是深深的拥抱~然后跟她说“只要你幸福就好”~
 
 
 
 
 
 
 
 
 
 
    
 
 
     
 
  
  查看全部
最近
一位女性好友失恋,恰逢30岁,这个年龄在中国社会是一个大龄剩女的坎,心急如焚的坎
突然间4年的感情不翼而飞,而后深夜买醉,少了一个人在身边,让她觉得异常孤单
哭过,卑微挽留过
剩下仅存骄傲让她咬着一股气,马不停蹄的开始报名各大交友网站,下班后积极参加各式交友俱乐部的交友活动
只要遇到不会心生讨厌的男生,就开始加微信,交换电话,私聊热聊
到处撒网
她说:不知何时,感觉自己成了一个结婚狂,怕自己30以后没人要了”~
 
我特别理解她的感受,曾经我也在28岁失恋后,心急如焚过~
而当我29岁时,在一个陌生的城市,遇到了生命中的他(这些都不是我能预计的)
幸福就像命中注定的出现了~
所以作为过来人,我只能安慰和鼓励她“ 亲爱的,请相信属于你的缘分是一定存在的”
这句轻描淡写的话,不知道对她有没有任何温暖的作用
但是在中国这样一个社会,看到一个30岁的女生为了把自己嫁出去,作出的不懈努力,看到她每次开心地和我分享找到潜在发展的对象时,作为朋友的我,除了祝福外,能给的就是深深的拥抱~然后跟她说“只要你幸福就好”~
 
 
 
 
 
 
 
 
 
 
    
 
 
     
 
  
 

某周一早上

30天新尝试xenia 发表了文章 • 0 个评论 • 1173 次浏览 • 2016-05-16 11:02 • 来自相关话题

某周一的早上,在饭桌上望着闹钟懒洋洋啃着早餐,想着离周五还那么遥远,总有一种崩溃的感觉;任重而道远...习惯开手机,刷微信,不喜欢点赞,不习惯评论,那些晒吃晒喝,晒娃晒照骗的,每天上演,无聊至及;这是无法拒绝的朋友圈...
 
突然看到朋友圈里一条这样的信息:
“一名杀人犯被判死刑。他必须选择三个房间中的一个受死。第一个房间里燃烧着熊熊烈火。第二个房间里全是刺客,手里都拿着上了子弹的枪。而第三个房间则塞满了3年没有进食的狮子。哪一个房间对他来说比较安全呢?”
 
嘿嘿,这第一反应是进哪个房间都必死无疑啊~ 请问你是这么想的吗,我承认我是的~
哈,提示扫描二维码,关注后有答案,好奇害死猫,还是傻愣愣的关注了,运营商就这样圈了我这样一个粉,连看个朋友圈都要成为粉,当今世道不是粉貌似都不能活了~
 
好吧,分析说“死胡同的思维,让我们忘记了 3年没进食的狮子,咋还能起来吃人呢?” 
 
突然不明觉厉~脑袋清醒了很多,尽管面对崩溃的周一,还得去上班啊~
 
 
 
 
 
 
 
 
 
 
 
 
 
  查看全部
某周一的早上,在饭桌上望着闹钟懒洋洋啃着早餐,想着离周五还那么遥远,总有一种崩溃的感觉;任重而道远...习惯开手机,刷微信,不喜欢点赞,不习惯评论,那些晒吃晒喝,晒娃晒照骗的,每天上演,无聊至及;这是无法拒绝的朋友圈...
 
突然看到朋友圈里一条这样的信息:
“一名杀人犯被判死刑。他必须选择三个房间中的一个受死。第一个房间里燃烧着熊熊烈火。第二个房间里全是刺客,手里都拿着上了子弹的枪。而第三个房间则塞满了3年没有进食的狮子。哪一个房间对他来说比较安全呢?”
 
嘿嘿,这第一反应是进哪个房间都必死无疑啊~ 请问你是这么想的吗,我承认我是的~
哈,提示扫描二维码,关注后有答案,好奇害死猫,还是傻愣愣的关注了,运营商就这样圈了我这样一个粉,连看个朋友圈都要成为粉,当今世道不是粉貌似都不能活了~
 
好吧,分析说“死胡同的思维,让我们忘记了 3年没进食的狮子,咋还能起来吃人呢?” 
 
突然不明觉厉~脑袋清醒了很多,尽管面对崩溃的周一,还得去上班啊~
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python 多线程扫描开放端口

python低调的哥哥 发表了文章 • 0 个评论 • 5551 次浏览 • 2016-05-15 21:15 • 来自相关话题

为什么说python是黑客的语言? 因为很多扫描+破解的任务都可以用python很快的实现,简洁明了。且有大量的库来支持。import socket,sys
import time
from thread_test import MyThread

socket.setdefaulttimeout(1)
#设置每个线程socket的timeou时间,超过1秒没有反应就认为端口不开放
thread_num=4
#线程数目
ip_end=256
ip_start=0
scope=ip_end/thread_num

def scan(ip_head,ip_low, port):
try:
# Alert !!! below statement should be inside scan function. Else each it is one s
ip=ip_head+str(ip_low)
print ip
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
#通过这一句判断 是否连通
s.close()
print "ip %s port %d open\n" %(ip,port)
return True
except:
return False


def scan_range(ip_head,ip_range,port):
start,end=ip_range
for i in range(start,end):
scan(ip_head,i,port)

if len(sys.argv)<3:
print "input ip and port"
exit()

ip_head=sys.argv[1]
port=int(sys.argv[2])


ip_range=
for i in range(thread_num):
x_range=[i*scope,(i+1)*scope-1]
ip_range.append(x_range)

threads=
for i in range(thread_num):
t=MyThread(scan_range,(ip_head,ip_range,port))
threads.append(t)
for i in range(thread_num):
threads.start()
for i in range(thread_num):
threads.join()
#设置进程阻塞,防止主线程退出了,其他的多线程还在运行

print "*****end*****"多线程的类函数实现: 有一些测试函数在上面没注释或者删除掉,为了让一些初学者更加容易看懂。import thread,threading,time,datetime
from time import sleep,ctime
def loop1():
print "start %s " %ctime()
print "start in loop1"
sleep(3)
print "end %s " %ctime()

def loop2():
print "sart %s " %ctime()
print "start in loop2"
sleep(6)
print "end %s " %ctime()


class MyThread(threading.Thread):
def __init__(self,fun,arg,name=""):
threading.Thread.__init__(self)
self.fun=fun
self.arg=arg
self.name=name
#self.result

def run(self):
self.result=apply(self.fun,self.arg)

def getResult(self):
return self.result

def fib(n):
if n<2:
return 1
else:
return fib(n-1)+fib(n-2)


def sum(n):
if n<2:
return 1
else:
return n+sum(n-1)

def fab(n):
if n<2:
return 1
else:
return n*fab(n-1)

def single_thread():
print fib(12)
print sum(12)
print fab(12)


def multi_thread():
print "in multithread"
fun_list=[fib,sum,fab]
n=len(fun_list)
threads=
count=12
for i in range(n):
t=MyThread(fun_list,(count,),fun_list.__name__)
threads.append(t)
for i in range(n):
threads.start()

for i in range(n):
threads.join()
result= threads.getResult()
print result
def main():
'''
print "start at main"
thread.start_new_thread(loop1,())
thread.start_new_thread(loop2,())
sleep(10)
print "end at main"
'''
start=ctime()
#print "Used %f" %(end-start).seconds
print start
single_thread()
end=ctime()
print end
multi_thread()
#print "used %s" %(end-start).seconds
if __name__=="__main__":
main()
 
最终运行的格式就是  python scan_host.py 192.168.1. 22
上面的命令就是扫描192.168.1 ip段开启了22端口服务的机器,也就是ssh服务。 
 
github:https://github.com/Rockyzsu/scan_host​ 

  查看全部
为什么说python是黑客的语言? 因为很多扫描+破解的任务都可以用python很快的实现,简洁明了。且有大量的库来支持。
import socket,sys
import time
from thread_test import MyThread

socket.setdefaulttimeout(1)
#设置每个线程socket的timeou时间,超过1秒没有反应就认为端口不开放
thread_num=4
#线程数目
ip_end=256
ip_start=0
scope=ip_end/thread_num

def scan(ip_head,ip_low, port):
try:
# Alert !!! below statement should be inside scan function. Else each it is one s
ip=ip_head+str(ip_low)
print ip
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
#通过这一句判断 是否连通
s.close()
print "ip %s port %d open\n" %(ip,port)
return True
except:
return False


def scan_range(ip_head,ip_range,port):
start,end=ip_range
for i in range(start,end):
scan(ip_head,i,port)

if len(sys.argv)<3:
print "input ip and port"
exit()

ip_head=sys.argv[1]
port=int(sys.argv[2])


ip_range=
for i in range(thread_num):
x_range=[i*scope,(i+1)*scope-1]
ip_range.append(x_range)

threads=
for i in range(thread_num):
t=MyThread(scan_range,(ip_head,ip_range,port))
threads.append(t)
for i in range(thread_num):
threads.start()
for i in range(thread_num):
threads.join()
#设置进程阻塞,防止主线程退出了,其他的多线程还在运行

print "*****end*****"
多线程的类函数实现: 有一些测试函数在上面没注释或者删除掉,为了让一些初学者更加容易看懂。
import thread,threading,time,datetime
from time import sleep,ctime
def loop1():
print "start %s " %ctime()
print "start in loop1"
sleep(3)
print "end %s " %ctime()

def loop2():
print "sart %s " %ctime()
print "start in loop2"
sleep(6)
print "end %s " %ctime()


class MyThread(threading.Thread):
def __init__(self,fun,arg,name=""):
threading.Thread.__init__(self)
self.fun=fun
self.arg=arg
self.name=name
#self.result

def run(self):
self.result=apply(self.fun,self.arg)

def getResult(self):
return self.result

def fib(n):
if n<2:
return 1
else:
return fib(n-1)+fib(n-2)


def sum(n):
if n<2:
return 1
else:
return n+sum(n-1)

def fab(n):
if n<2:
return 1
else:
return n*fab(n-1)

def single_thread():
print fib(12)
print sum(12)
print fab(12)


def multi_thread():
print "in multithread"
fun_list=[fib,sum,fab]
n=len(fun_list)
threads=
count=12
for i in range(n):
t=MyThread(fun_list,(count,),fun_list.__name__)
threads.append(t)
for i in range(n):
threads.start()

for i in range(n):
threads.join()
result= threads.getResult()
print result
def main():
'''
print "start at main"
thread.start_new_thread(loop1,())
thread.start_new_thread(loop2,())
sleep(10)
print "end at main"
'''
start=ctime()
#print "Used %f" %(end-start).seconds
print start
single_thread()
end=ctime()
print end
multi_thread()
#print "used %s" %(end-start).seconds
if __name__=="__main__":
main()

 
最终运行的格式就是  python scan_host.py 192.168.1. 22
上面的命令就是扫描192.168.1 ip段开启了22端口服务的机器,也就是ssh服务。 
 
github:https://github.com/Rockyzsu/scan_host​