#后面的三个工具无法安装,原因目前不知,后面用来时再寻找解决方法
pip install python-nmap python-bluez bluetooth python obexftp
#pycrypto是一个非常强大的加密解密module,对于信息的加密和破解是需要经常用到的
pip install pycrypto #在windows下,安装报错后,需要安装一个VCForPython27.msi的软件即可,详细看安装的报错信息
#在windows下import crypt,发现找不到此module,发现只在linux系统下Python才自带有此模块
crypt.crypt(word, salt) #这个module只有这一个函数
#导入自己写的module
import sys
sys.path.append(\"C:/pyqt/chap02\") #把我们写的module路径添加到了path路径,这里我们就可以import自己写的module了
#data type
port=23
banner=\"hello hacker\"
type(port)
type(banner)
banner.upper()
banner.lower()
banner.replace(\"old\",\"new\")
banner.find(\"hacker\")
#list
portlist=[]
portlist.append(22)
portlist.append(80)
print portlist
portlist.sort() #对portlist进行排序
pos=portlist.index(80)
portlist.remove(443)
print portlist
cnt=len(portlist)
#dictionary
services={\"ftp\":21,\"ssh\":22,\"smtp\":25,\"http\":80}
services.keys() # return list
services.items() #change to tuple couple
services.has_key(\"ftp\") #true or false
services[\"ftp\"] # return value
import socket
socket.setdefaulttimeout(2) #2秒时长没有收到想要的数据长度,就返回了socket.timeout 异常
s=socket.socket() #创建一个socket对象
s.connect((\"8.8.8.8\",21))
ans=s.recv(1024) #从服务器接收 1024个数据 ,如果在2秒内,没有接收完,就会返回 socket.timeo9ut异常
try:
3/0
except:
print \"3/0 is illegal\"
#下面是除0后,得到的ZeroDivisionError
>>> 3/0
Traceback (most recent call last):
File \"\", line 1, in
ZeroDivisionError: integer division or modulo by zero
#异常处理可以保证,程序出错后,自动处理错误,程序可以接着运行下
#没有异常处理,程序会由于这些异常直接退出
#查看异常类型:
try:
15/0
except Exception, e:
print \"Error\"+str(e)
#socket中使用异常处理
import socket
socket.setdefaulttimeout(2)
s=socket.socket()
try:
s.connect((\"8.8.8.8\",21)) # 成功后,不会运行except部分
except Exception,e:
print \"error\"+str(e) # connect失败后,会运行这部分代码
import socket
def abc(arg1,arg2):
try:
socket.setdefaulttimeout(2)
xxx
return
except:
return
def main():
xxx
if __name__==\"__main__\":
main()
portList=[21,22,25,80,110]
for x in range (1,255):
for port in portList:
print \"Checkingt 192.168.1\"+str(x)+\":\"+str(port)
#文件的行读取
f=open(\"hello.txt\",\"r\")
for line in f.readlines():
if line.strip(\"\\n\") in banner: #从文件中读取到的行内容是否有用
print \"xxxx\"
import sys
if len(sys.argv)==2:
filename=sys.argv[1]
print \"filename\"+filename
import os
if not os.path.isfile(filename)
pirnt filename+\" does not exist\"
return
if not os.access(filename,os.R_OK): #chmod 000 a.txt 后,就无法access
print filename+\" access denied\"
return
import sys
if sys.version_info[:2] <(2,4): #小于2.4的版本没有sorted这个函数,那么我们自己写一个,用自己的
def sorted(items):
xxx
xxx
return items
#运行过程:
#先try,输出 hello ahc,然后运行3/0后报错
#接下来进行except,输出except happened
#接下来程序接着往下走(不会执行else)
for i in dir(a):
try:
print \"hello ahc\"
3/0
except:
print \"except happened\"
else:
print \"run without except\"
\\
#运行过程:
#输出hello ahc,由于没有异常,所以会运行else,输出run always
try:
print \"hello ahc\"
except:
print \"except happened\"
else:
print \"run without except\"
# 下面是一个标准的异常处理过程
try:
process()
except IndexError, e:
print \"Error: %s\" % e
except LookupError, e:
print \"Error: %s\" % e
import platform
os_type=platform.platform().lower()
if \"windows\" in os_type:
fontfile=r\"C:\\Windows\\Fonts\\timesi.ttf\"
else:
fontfile=\"/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Italic.ttf\"
上一篇:文本相似度的计算