首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,018 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,658 阅读
3
gradle-5.4.1-all.zip下载
8,684 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,541 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,790 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
619
篇文章
累计收到
602
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
619
篇与
的结果
2020-05-03
中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)
感谢中国大学MOOC提供的学习平台,以下内容皆为自己测试的记录测验1: Python基本语法元素 (第1周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588486939470Guido van Rossum正式对外发布Python版本的年份是:A2008B1991C1998D2002 正确答案 BPython成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动阶段时间表:"December, 1989 Implementation started1990 Internal releases at CWIFebruary 20, 1991 0.9.0 (released to alt.sources)February, 1991 0.9.1"鉴于Internal release不算对外发布,普遍认为Python语言诞生于1991年。21 分#0032003700380032003300331588486939473以下关于Python语言中“缩进”说法正确的是:A缩进在程序中长度统一且强制使用B缩进统一为4个空格C缩进是非强制的,仅为了提高代码可读性D缩进可以用在任何语句之后,表示语句间的包含关系 正确答案 APython语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例)。31 分#0032003700380032003300331588486939475以下不属于IPO模型的是:AInputBProcessCProgramDOutput 正确答案 CIPO:Input Process Output41 分#0032003700380032003300331588486939476字符串是一个字符序列,给字符串s,以下表示s从右侧向左第三个字符的是:As[3]Bs[0:-3]Cs[:-3]Ds[-3] 正确答案 D字符串有正向递增和反向递减两套序号体系51 分#0032003700380032003300331588486939479以下不是Python语言合法命名的是:AMyGodBMyGod5C5MyGodD_MyGod_ 正确答案 C合法命名的首字符不能是数字。61 分#0032003700380032003300331588486939481在Python中,用于获取用户输入的函数是:Aeval()Bprint()Cget()Dinput() 正确答案 Dget()不是Python内置函数,获得用户输入只有一种方式:input()。71 分#0032003700380032003300331588486939483下面不属于Python保留字的是:AtypeBimportCelifDdef 正确答案 Atype不是Python保留字,而是内置函数 type()。81 分#0032003700380032003300331588486939484以下不是Python数据类型的是:A字符串B实数C整数D列表 正确答案 B实数是数学中的概念,在Python中对应浮点数。91 分#0032003700380032003300331588486939486哪个选项给出的保留字不直接用于表示分支结构?AelifBinCelseDif 正确答案 Bif-elif-else是分支表达,in用来进行成员判断。101 分#0032003700380032003300331588486939488利用print()格式化输出,哪个选项用于控制浮点数的小数点后两位输出?A{:.2f}B{:.2}C{.2}D{.2f} 正确答案 A:.2f 哪一个都不能少300331588487018712Hello World的条件输出描述获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:如果输入值是0,直接输出"Hello World"如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)如果输入值小于0,以垂直方式输出"Hello World" 输入输出示例输入输出示例 10Hello Worlda = int(input()) hi = 'Hello World' if a == 0: print(hi) elif a > 0: for i in range(0, len(hi)-1, 2): print(hi[i], hi[i + 1]) print('d') else: for i in hi: print(i)03300331588487042308数值运算描述获得用户输入的一个字符串,格式如下:M OP N其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)根据OP,输出M OP N的运算结果,统一保存小数点后2位。注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。输入输出示例输入输出示例 110 + 100 1 / 20110.00 0.05a = input() print('{:.2f}'.format(eval(a)))测验2: Python基本图形绘制 (第2周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487104032哪个选项不能正确引用turtle库进而使用setup()函数?Aimport setup from turtleBimport turtle as tCfrom turtle import*Dimport turtle 正确答案 Aimport只有三种使用方法,以turtle库为例:import turtlefrom turtle import setup 或 from turtle import *import turtle as t (其中t是别名,可以更换其他名称)21 分#0032003700380032003300331588487104034关于turtle库,哪个选项的描述是错误的?Aturtle坐标系的原点默认在屏幕左上角Bturtle库最早成功应用于LOGO编程语言Cturtle绘图体系以水平右侧为绝对方位的0度Dturtle库是一个直观有趣的图形绘制函数库 正确答案 Aturtle坐标系的原点默认在窗体正中间31 分#0032003700380032003300331588487104038哪个选项是turtle绘图中角度坐标系的绝对0度方向?A画布正左方B画布正下方C画布正右方D画布正上方 正确答案 C坐标系类似这样,角度坐标系的绝对0度方向是右侧 41 分#0032003700380032003300331588487104041哪个选项是下面代码的执行结果?turtle.circle(-90,90)A绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧B绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧C绘制一个半径为90像素的弧形,圆心在画布正中心D绘制一个半径为90像素的整圆形 正确答案 Bcircle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。51 分#0032003700380032003300331588487104043关于turtle库绘图函数,哪个选项的描述是错误的?Aturtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值Bturtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离Cturtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选Dturtle.pensize(size)函数的作用是改变画笔的宽度为size像素 正确答案 Ccircle()函数不能绘制椭圆形。61 分#0032003700380032003300331588487104044关于turtle库的画笔控制函数,哪个选项的描述是错误的?Aturtle.width()和turtle.pensize()都可以用来设置画笔尺寸Bturtle.pendown()作用是落下画笔,并移动画笔绘制一个点Cturtle.penup()的别名有turtle.pu(),turtle.up()Dturtle.colormode()的作用是设置画笔RGB颜色的表示模式 正确答案 Bturtle.pendown()只是放下画笔,并不绘制任何内容。71 分#0032003700380032003300331588487104046哪个选项不能改变turtle画笔的运行方向?Aright()Bseth()Cbk()Dleft() 正确答案 Cbk()只能后退,但不改变方向,"后退"不是"转向"。81 分#0032003700380032003300331588487104049哪个选项所列保留字能够实现对一组语句的循环执行?Aif和elseBwhile和defCfor和inDrange() 正确答案 C循环相关保留字是:for..in和while,但def用于定义函数,不相关。91 分#0032003700380032003300331588487104050哪个选项能够使用turtle库绘制一个半圆形?Aturtle.circle(100, 90)Bturtle.circle(100)Cturtle.fd(100)Dturtle.circle(100, -180) 正确答案 Dcircle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。101 分#0032003700380032003300331588487104052哪个选项对turtle.done()的描述是正确的?Aturtle.done()用来隐藏turtle绘制画笔,一般放在代码最后Bturtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制Cturtle.done()用来停止画笔绘制,但绘图窗体不关闭Dturtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成 正确答案 C建议在每个turtle绘图最后增加turtle.done()。3300331588487136939turtle八边形绘制 描述使用turtle库,绘制一个八边形。注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。输出示例八边形效果如下:#请在横线中填写Python表达式或语句,实现所需要的功能 #注意:补充代码将以匹配方式评阅,代码中不要出现空格 import turtle as t t.pensize(2) for i in range(8): t.fd(100) t.left(45)turtle八角图形绘制 描述使用turtle库,绘制一个八角图形。注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。 输出示例八角图形效果如下:#请在横线中填写Python表达式或语句,实现所需要的功能 #注意:补充代码将以匹配方式评阅,代码中不要出现空格 import turtle as t t.pensize(2) for i in range(8): t.fd(150) t.left(135)测验3: 基本数据类型 (第3周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487176741pow(x, 0.5)能够计算x的平方根,计算负数的平方根将产生:A复数B无输出C程序崩溃DValueError错误 正确答案 A>>> pow(-1, 0.5)(6.123233995736766e-17+1j)21 分#0032003700380032003300331588487176743以下关于字符串.strip()方法功能说明正确的是:A去掉字符串两侧指定字符B按照指定字符分割字符串为数组C连接两个字符串序列D替换字符串中特定字符 正确答案 A"去掉字符串两侧指定字符"对应功能是.strip()"按照指定字符分割字符串为数组"对应功能是.split()"替换字符串中特定字符"对应功能是.replace()"连接两个字符串序列"对应功能是+操作符31 分#0032003700380032003300331588487176745字符串是一个连续的字符序列,哪个选项可以实现打印字符信息的换行?A使用“换行”B使用空格C使用转义符\D使用 正确答案 D换行符 ,与C语言中一致。41 分#0032003700380032003300331588487176746val=pow(2,1000),请用一行代码返回val结果的长度值。Alen(str(val))B以后均不正确Clen(val)Dlen(pow(2,1000)) 正确答案 Alen(str(val))首先通过str(val)将数字类型val变成字符串,再通过len()获得字符串长度,即val的数字个数。51 分#0032003700380032003300331588487176747下面关于time库引用不正确的是?Afrom * import timeBimport timeCfrom time import strftimeDfrom time import * 正确答案 Afrom * import time 应该是: from time import *61 分#0032003700380032003300331588487176749哪个选项不是Python语言的整数类型?A0B1010B88C0E99D0x9a 正确答案 C十进制:一般表示二进制:0b 或 0B 开头八进制:0o 或 0O 开头十六进制:0x 或 0X 开头没有0E开头71 分#0032003700380032003300331588487176751关于整数类型的4种进制表示,哪个选项的描述是正确的?A二进制、四进制、八进制、十进制B二进制、四进制、十进制、十六进制C二进制、四进制、八进制、十六进制D二进制、八进制、十进制、十六进制 正确答案 DPython不支持四进制整数81 分#0032003700380032003300331588487176752哪个选项是Python语言%运算符的含义?Ax与y之商的余数Bx与y的整数商Cx与y之商Dx的y次幂 正确答案 A%是取余数,与C语言相同。91 分#0032003700380032003300331588487176753哪个选项是下面代码的执行结果?name="Python语言程序设计课程"print(name[0],name[2:-2],name[-1]) AP thon语言程序设计课 程BP thon语言程序设计 程CP thon语言程序设计课 课DP thon语言程序设计 课 正确答案 Bs[N:M]表示对字符串s的切片操作,从N到M,但不包含M101 分#0032003700380032003300331588487176754哪个选项是下面代码的执行结果?s='PYTHON'print("{0:3}".format(s))APYTHONB PYTHONCPYTDPYTH 正确答案 A{0:3}表示输出的宽度是3,但如果字符串超过长度3,则以字符串长度显示。平方根格式化描述获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。如果结果超过30个字符,则以结果宽度为准。 输入输出示例输入输出示例 110+++++++++++++++++++++++++3.162num = int(input()) result = pow(num, 0.5) print("{:+>30.3f}".format(result))字符串分段组合描述获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。 输入输出示例输入输出示例 1Alice-Bob-Charis-David-Eric-FlurryAlice+Flurrya = input() result = a.split('-') print(f'{result[0]}+{result[-1]}')测验4: 程序的控制结构 (第4周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487349438for var in ___: print(var)哪个选项不符合上述程序空白处的语法要求?A{1;2;3;4;5}B(1,2,3)C"Hello"Drange(0,10) 正确答案 Afor .. in .. 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。21 分#0032003700380032003300331588487349440for i in range(0,2): print(i)哪个选项是以上程序的输出结果?A1B0 1 2C1 2D0 1 正确答案 Drange(0, 2)输出两个值:0和1。31 分#0032003700380032003300331588487349442k=10000while k>1: print(k) k=k/2哪个选项给出了上述程序的输出次数?A15B14C1000D13 正确答案 B请跟随程序计算或在IDLE中运行程序获得结果。41 分#0032003700380032003300331588487349444哪个选项是程序的三种基本结构?A过程结构,对象结构,函数结构B顺序结构,跳转结构,循环结构C顺序结构,循环结构,分支结构D过程结构,循环结构,分支结构 正确答案 C无对象结构、跳转结构、过程结构等说法。51 分#0032003700380032003300331588487349446哪个选项关于循环结构的描述是错误的?A循环是一种程序的基本控制结构B条件循环和遍历循环结构都是基本的循环结构C循环是程序根据条件判断结果向后反复执行的一种运行方式D死循环无法退出,没有任何作用 正确答案 D死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:x = 10while True: x = x - 1 if x == 1: break死循环是有其作用的。61 分#0032003700380032003300331588487349449关于Python语句P=-P,哪个选项的描述是正确的?A给P赋值为它的负数BP的绝对值CP=0DP等于它的负数 正确答案 APython中的=是赋值符号,==是判断相等性的等于符号。71 分#0032003700380032003300331588487349450哪个选项是用来判断当前Python语句在分支结构中?A缩进B大括号C引号D冒号 正确答案 A缩进表达层次关系。81 分#0032003700380032003300331588487349452哪个选项是下面代码的执行结果?for s in "PYTHON": if s=="T": continue print(s,end="")APYHONBTTCPYTHONDPY 正确答案 Acontinue结束当次循环,但不跳出当前循环。91 分#0032003700380032003300331588487349453哪个选项是random库中用于生成随机小数的函数?Arandrange()Brandom()Crandint()Dgetrandbits() 正确答案 Brandint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。101 分#0032003700380032003300331588487349455关于try-except,哪个选项的描述是错误的?ANameError是一种异常类型B表达了一种分支结构的特点C使用了异常处理,程序将不会再出错D用于对程序的异常进行捕捉和处理 正确答案 C使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。四位玫瑰数描述四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。输入输出示例输出仅表示格式,不表示对错。输入输出示例 1无1111 2222 3333for i in range(1000, 10000): t = str(i) if pow(eval(t[0]),4) + pow(eval(t[1]),4) + pow(eval(t[2]),4)+ pow(eval(t[3]),4) == i : print(i)100以内素数之和描述求100以内所有素数之和并输出。素数指从大于1,且仅能被1和自己整除的整数。提示:可以逐一判断100以内每个数是否为素数,然后求和。输入格式 该题目没有输入输入输出示例输入输出示例 11234(这是示例,不是真实输出)result = 0 for i in range(2,101): if i%2==0 and i!=2: continue sign = True for j in range(2,i): if i%j==0: sign =False break if sign: result+=i print(result)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487401105以下选项不是函数作用的是:A提高代码执行速度B降低编程复杂度C复用代码D增强代码可读性 正确答案 A函数不能直接提高代码执行速度。21 分#0032003700380032003300331588487401107下列程序的输出结果为:def f(a,b): a=4 return a+bdef main(): a=5 b=6 print(f(a,b),a+b)main()A11 11B11 10C10 10D10 11 正确答案 D这里没有全局变量,都是函数局部变量的运算。31 分#0032003700380032003300331588487401108以下关于Python函数说法错误的是:def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+aA执行该函数后,变量b的值为100B该函数名称为funcC执行该函数后,变量c的值为200D执行该函数后,变量a的值为10 正确答案 C这里没有全局变量,请在IDLE中执行代码观察结果。41 分#0032003700380032003300331588487401110以下关于函数调用描述正确的是:A自定义函数调用前必须定义B函数在调用前不需要定义,拿来即用就好CPython内置函数调用前需要引用相应的库D函数和调用只能发生在同一个文件中 正确答案 A函数调用前必须已经存在函数定义,否则无法执行。Python内置函数直接使用,不需要引用任何模块。51 分#0032003700380032003300331588487401112以下关于模块化设计描述错误的是:A应尽可能合理划分功能块,功能块内部耦合度高B应尽可能合理划分功能块,功能块内部耦合度低C高耦合度的特点是复用较为困难D模块间关系尽可能简单,模块之间耦合度低 正确答案 B模块内高耦合、模块间低耦合。61 分#0032003700380032003300331588487401116以下对递归描述错误的是:A执行效率高B书写简单C一定要有基例D递归程序都可以有非递归编写方法 正确答案 A递归不提高程序执行效率。任何递归程序都可以通过堆栈或队列变成非递归程序(这是程序的高级应用)。71 分#0032003700380032003300331588487401117以下关于函数说法错误的是:A函数是一段具有特定功能的、可重用的语句组B函数可以看做是一段具有名字的子程序C函数通过函数名来调用D对函数的使用必须了解其内部实现原理 正确答案 D调用函数不需要知道函数内部实现原理,只需要知道调用方法(即接口)即可。81 分#0032003700380032003300331588487401120哪个选项对于函数的定义是错误的?Adef vfunc(a,*b):Bdef vfunc(a,b=2):Cdef vfunc(a,b):Ddef vfunc(*a,b): 正确答案 Ddef vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。91 分#0032003700380032003300331588487401121关于return语句,以下选项描述正确的是:A函数中最多只有一个return语句Breturn只能返回一个值C函数必须有一个return语句D函数可以没有return语句 正确答案 D函数可以包含0个或多个return语句101 分#0032003700380032003300331588487401123以下关于递归函数基例的说法错误的是:A每个递归函数都只能有一个基例B递归函数的基例不再进行递归C递归函数的基例决定递归的深度D递归函数必须有基例 正确答案 A每个递归函数至少存在一个基例,但可能存在多个基例。随机密码生成描述补充编程模板中代码,完成如下功能:以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。产生密码采用random.randint()函数。输入输出示例输入输出示例 13634 524 926#请在...补充代码 import random def genpwd(length): a = 10**(length-1) b = 10**length - 1 return "{}".format(random.randint(a, b)) length = eval(input()) random.seed(17) for i in range(3): print(genpwd(length))31588487431757连续质数计算描述补充编程模板中代码,完成如下功能:获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。 输入输出示例输入输出示例 11213,17,19,23,29# 请在...补充一行或多行代码 def prime(m): for i in range(2,m): if m % i == 0: return False return True n = eval(input()) a = int(n) a = a+1 if a < n else a count = 5 while count > 0: if prime(a): if count > 1: print(a, end=",") else: print(a, end="") count -= 1 a += 1
2020年05月03日
2,369 阅读
0 评论
0 点赞
2020-05-03
Wireshark过滤规则笔记,附软件
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。(1)版本 ,占4位,指IP协议的版本,目前广泛使用的IP协议版本号为4(即IPv4)。 2)首部长度 ,占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。 (3)服务类型 ,占8位,用来获得更好的服务,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度 ,总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。 PS:图中总长度为84个字节,ping包默认为56个字节,ICMP包头是8个字节,再加上首部长度20个字节。下图我将包长度设置为112个字节后,总长度就变成140个字节了 (5)标识(identification),占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。 PS:个人理解就是一个数据报对应一个标识,当数据报长度超过最大MTU时会被分片,但被分片的标识字段是一样的。下面ping一个3100字节的包验证一下,百度大包经禁ping了,改pingMOP: 从上图可以看出3100字节的大包被分为3片字段都是一样的(12312)。 (6)标志(flag),占3位,但目前只有2位有意义。标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。 (7)片偏移,占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,除了最后一个分片,每个分片的长度一定是8字节(64位)的整数倍 PS:片偏移就是相对数据报字段的起点,以标识中的ping包来看,第一个分片的片偏移是0,第二个是1480,第3个是2960,如下图所示: (8)生存时间,占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计是以秒作为TTL的单位。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于1秒,就把TTL值减1。当TTL值为0时,就丢弃这个数据报。后来把TTL字段的功能改为“跳数限制”(但名称不变)。路由器在转发数据报之前就把TTL值减1.若TTL值减少到零,就丢弃这个数据报,不再转发。因此,现在TTL的单位不再是秒,而是跳数。TTL的意义是指明数据报在网络中至多可经过多少个路由器。显然,数据报在网络上经过的路由器的最大数值是255.若把TTL的初始值设为1,就表示这个数据报只能在本局域网中传送。 (9)协议占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。 (10)首部检验和,占16位。这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量。 (11)源地址,占32位。 (12)目的地址,占32位。 (13)数据部分,可变,最大为总长度-首部长度。 基本IO Graphs:IO graphs是一个非常好用的工具。基本的Wireshark IOgraph会显示抓包文件中的整体流量情况,通常是以每秒为单位(报文数或字节数)。默认X轴时间间隔是1秒,Y轴是每一时间间隔的报文数。如果想要查看每秒bit数或byte数,点击“Unit”,在“YAxis”下拉列表中选择想要查看的内容。这是一种基本的应用,对于查看流量中的波峰/波谷很有帮助。要进一步查看,点击图形中的任意点就会看到报文的细节。过滤:每一个图形都可以应用一个过滤条件。这里创建两个不同的graph,一个HTTP一个ICMP。可以看到过滤条件中Graph 1使用“http”Graph 2使用“icmp”。图中可以看到红色ICMP流量中有些间隙,进一步分析。 过滤常用排错过滤条件:对于排查网络延时/应用问题有一些过滤条件是非常有用的:tcp.analysis.lost_segment:表明已经在抓包中看到不连续的序列号。报文丢失会造成重复的ACK,这会导致重传。tcp.analysis.duplicate_ack:显示被确认过不止一次的报文。大凉的重复ACK是TCP端点之间高延时的迹象。tcp.analysis.retransmission:显示抓包中的所有重传。如果重传次数不多的话还是正常的,过多重传可能有问题。这通常意味着应用性能缓慢和/或用户报文丢失。tcp.analysis.window_update:将传输过程中的TCP window大小图形化。如果看到窗口大小下降为零,这意味着发送方已经退出了,并等待接收方确认所有已传送数据。这可能表明接收端已经不堪重负了。tcp.analysis.bytes_in_flight:某一时间点网络上未确认字节数。未确认字节数不能超过你的TCP窗口大小(定义于最初3此TCP握手),为了最大化吞吐量你想要获得尽可能接近TCP窗口大小。如果看到连续低于TCP窗口大小,可能意味着报文丢失或路径上其他影响吞吐量的问题。tcp.analysis.ack_rtt:衡量抓取的TCP报文与相应的ACK。如果这一时间间隔比较长那可能表示某种类型的网络延时(报文丢失,拥塞,等等)。函数我们做了以下步骤:将Y轴设置为“Advanced”,让Caculation域可见。不做这一步就看不到计算选项。X轴时间间隔1秒,所以每个柱状图代表1秒间隔的计算结果。过滤出两个特定IP地址的HTTP会话,使用条件:“(ip.addr==192.168.1.4&& ip.addr==128.173.87.169) && http”。使用3个不同的graph,分别计算Min(), Avg(), Max()。对每一个计算结果应用条件“frame.time_delta”,将style设置成“FBar”,显示效果最佳。Count( ):此函数计算时间间隔内事件发生的次数,在查看TCP分析标识符时很有用,例如重传。Sum( ):该函数统计事件的累加值。有两种常见的用例是看在捕获TCP数据量,以及检查TCP序列号。协议过滤器:arp:显示所有包括ARP请求和回复在内的所有ARP数据流。ip:显示内含IPv4头在内的(如ICMP目的地址不可达报文,在ICMP报文头之后返回到来方向的IPv4头)IP数据流。ipv6:显示所有IPv6数据流,包括内含IPv6报文头的IPv4报文,如6to4,Teredo,以及ISATAP数据流。tcp:显示所有基于TCP的数据流。应用过滤器:bootp:显示所有DHCP数据流(基于BOOTP)。dns:显示包括TCP区域传输以及基于标准UDP的DNS请求和回复在内的所有DNS数据流。tftp:显示所有TFTP(Trivial File Transfer Protocol)数据流。http:显示所有HTTP命令,回复以及数据传输报文,但不显示TCP握手报文,TCP ACK报文以及TCP结束报文。icmp:显示所有ICMP报文。域过滤器:boot.option.hostname:显示所有包含主机名的DHCP数据流(DHCP基于BOOTP)。http:host:显示所有包含HTTP主机名字段的所有HTTP报文。此报文是客户端向网络服务器发送请求时发出的。ftp.request.command:显示所有包含命令的FTP数据流,比如USER,PASS,或RETR命令。字符过滤器:tcp.analysis.flags:显示所有包含TCP分析标识的所有报文,包括报文丢失,重传,或零窗口标识。tcp.analysis,zero_window:显示含有表明发送方的接收缓存用完标识的报文。显示过滤器比较运算符:通过扩展过滤条件可查找某一域值,Wireshark针对此功能支持数字比较运算符。1. ==或eq例如:ip.src == 10.2.2.2显示所有源地址为10.2.2.2的IPv4数据流2. !=或ne例如:tcp.srcport != 80显示源端口除了80以外的所有TCP数据流3. >或gt例如:frame.time_relative > 1显示距前一个报文到达时间相差1秒的报文4. <或lt例如:tcp.window_size < 1460显示当TCP接收窗口小于1460字节时的报文5. >=或ge例如:dns.count.answers >= 10显示包含10个以上answer的DNS响应报文6. <=或le例如:ip.ttl <= 10显示IP报文中Time to Live字段小于等于10的报文7. contains例如:http contains “GET”显示所有HTTP客户端发送给HTTP服务器的GET请求对于基于TCP应用的过滤条件采用比较运算符。例如,如果想看端口80上面的HTTP数据流,使用HTTP.port==80。小贴士:运算符两边不用留空格。ip.src == 10.2.2.2与ip.src==10.2.2.2的效果是相同的。过滤HTTP数据流:在排查网页浏览器会话或检查网速过慢问题时,对浏览器会话进行过滤就显得尤为重要。过滤HTTP数据流有两种方式:httptcp.port==xx(xx表示所使用的HTTP端口)Wireshark基本用法 :https://www.cnblogs.com/dragonir/p/6219541.html软件来源于吾爱破解Wireshark-win64-3.2.3.7z密码:www.lanol.cn|大小:57.0MB已经过安全软件检测无毒,请您放心下载。
2020年05月03日
2,141 阅读
0 评论
0 点赞
2020-05-03
看了这些,你觉得你的隐私还安全吗?用python来保护你的隐私
不得不说,我感觉自己越来越有营销号的潜力了。前段时间在telegram上看到一个社工机器人,大概是这样的(查询了下自己QQ):虽然说查出来的信息比较老旧了,但至少还是有参考价值的,你以为这样就完了吗?你以为这样就没了么。。就国内来说,现在什么东西都需要实名认证,动不动就上传身份证照片,上传手持身份证,不上传还不给你用,但是有能力约束我们这些用户,能够约束到那些法外狂徒吗???网络无绝对,信息上传了,服务商那边有把握保存好你的信息吗,信息泄露事件屡出不穷,于是就有了网上这些信息交易,信息多了也就成了社工库了。以下问答来源于找法网:国家对于非法获取和贩卖公民个人信息的具体刑法是什么呢?最高人民法院、最高人民检察院 关于办理侵犯公民个人信息刑事案件适用法律若干问题的解释 为依法惩治侵犯公民个人信息犯罪活动,保护公民个人信息安全和合法权益,根据《中华人民共和国刑法》《中华人民共和国刑事诉讼法》的有关规定,现就办理此类刑事案件适用法律的若干问题解释如下: 第一条 刑法第二百五十三条之一规定的“公民个人信息”,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息,包括姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等。 第二条 违反法律、行政法规、部门规章有关公民个人信息保护的规定的,应当认定为刑法第二百五十三条之一规定的“违反国家有关规定”。 第三条 向特定人提供公民个人信息,以及通过信息网络或者其他途径发布公民个人信息的,应当认定为刑法第二百五十三条之一规定的“提供公民个人信息”。 未经被收集者同意,将合法收集的公民个人信息向他人提供的,属于刑法第二百五十三条之一规定的“提供公民个人信息”,但是经过处理无法识别特定个人且不能复原的除外。 第四条 违反国家有关规定,通过购买、收受、交换等方式获取公民个人信息,或者在履行职责、提供服务过程中收集公民个人信息的,属于刑法第二百五十三条之一第三款规定的“以其他方法非法获取公民个人信息”。 第五条 非法获取、出售或者提供公民个人信息,具有下列情形之一的,应当认定为刑法第二百五十三条之一规定的“情节严重”: (一)出售或者提供行踪轨迹信息,被他人用于犯罪的; (二)知道或者应当知道他人利用公民个人信息实施犯罪,向其出售或者提供的; (三)非法获取、出售或者提供行踪轨迹信息、通信内容、征信信息、财产信息五十条以上的; (四)非法获取、出售或者提供住宿信息、通信记录、健康生理信息、交易信息等其他可能影响人身、财产安全的公民个人信息五百条以上的; (五)非法获取、出售或者提供第三项、第四项规定以外的公民个人信息五千条以上的; (六)数量未达到第三项至第五项规定标准,但是按相应比例合计达到有关数量标准的; (七)违法所得五千元以上的; (八)将在履行职责或者提供服务过程中获得的公民个人信息出售或者提供给他人,数量或者数额达到第三项至第七项规定标准一半以上的; (九)曾因侵犯公民个人信息受过刑事处罚或者二年内受过行政处罚,又非法获取、出售或者提供公民个人信息的; (十)其他情节严重的情形。 实施前款规定的行为,具有下列情形之一的,应当认定为刑法第二百五十三条之一第一款规定的“情节特别严重”: (一)造成被害人死亡、重伤、精神失常或者被绑架等严重后果的; (二)造成重大经济损失或者恶劣社会影响的; (三)数量或者数额达到前款第三项至第八项规定标准十倍以上的; (四)其他情节特别严重的情形。 第六条 为合法经营活动而非法购买、收受本解释第五条第一款第三项、第四项规定以外的公民个人信息,具有下列情形之一的,应当认定为刑法第二百五十三条之一规定的“情节严重”: (一)利用非法购买、收受的公民个人信息获利五万元以上的; (二)曾因侵犯公民个人信息受过刑事处罚或者二年内受过行政处罚,又非法购买、收受公民个人信息的; (三)其他情节严重的情形。 实施前款规定的行为,将购买、收受的公民个人信息非法出售或者提供的,定罪量刑标准适用本解释第五条的规定。 第七条 单位犯刑法第二百五十三条之一规定之罪的,依照本解释规定的相应自然人犯罪的定罪量刑标准,对直接负责的主管人员和其他直接责任人员定罪处罚,并对单位判处罚金。 第八条 设立用于实施非法获取、出售或者提供公民个人信息违法犯罪活动的网站、通讯群组,情节严重的,应当依照刑法第二百八十七条之一的规定,以非法利用信息网络罪定罪处罚;同时构成侵犯公民个人信息罪的,依照侵犯公民个人信息罪定罪处罚。 第九条 网络服务提供者拒不履行法律、行政法规规定的信息网络安全管理义务,经监管部门责令采取改正措施而拒不改正,致使用户的公民个人信息泄露,造成严重后果的,应当依照刑法第二百八十六条之一的规定,以拒不履行信息网络安全管理义务罪定罪处罚。 第十条 实施侵犯公民个人信息犯罪,不属于“情节特别严重”,行为人系初犯,全部退赃,并确有悔罪表现的,可以认定为情节轻微,不起诉或者免予刑事处罚;确有必要判处刑罚的,应当从宽处罚。 第十一条 非法获取公民个人信息后又出售或者提供的,公民个人信息的条数不重复计算。 向不同单位或者个人分别出售、提供同一公民个人信息的,公民个人信息的条数累计计算。 对批量公民个人信息的条数,根据查获的数量直接认定,但是有证据证明信息不真实或者重复的除外。 第十二条 对于侵犯公民个人信息犯罪,应当综合考虑犯罪的危害程度、犯罪的违法所得数额以及被告人的前科情况、认罪悔罪态度等,依法判处罚金。罚金数额一般在违法所得的一倍以上五倍以下。 第十三条 本解释自2017年6月1日起施行。但是你有见过有关新闻关于泄露公民隐私信息被抓之类的吗(盘神除外)说了这么多,对于隐私泄露我们既然无法拒绝,那就学会享受吧,开个玩笑,应该是,既然服务商不能保证信息的安全,但是我们可以自己从根源出发,这里就目前经常要上传的身份证照片以及手持照片来说。学会打水印,这次上传需要用来干什么,直接满照片水印,当然前提是你不影响身份证上信息的清晰,现在这样的水印软件还是不少的,但是既然学了python何不自己写一个呢。说了这么久,总数进入正题了。给照片加水印,用代码实现, 是不是很厉害的样子。下面是python加水印的代码from PIL import Image, ImageFont, ImageDraw text = 'www.lanol.cn' text = input('请输入水印内容:') # 水印内容 image = Image.open('picture.jpg') # 打开要处理的图片 font = ImageFont.truetype('msyh.ttc', size=40) # 水印文字的字体及字体大小 new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0)) # 将原图转为RGBA模式的图且放到新图 new_img.paste(image, image.size) font_len = len(text) rgba = new_img.convert('RGBA') shuiying = Image.new('RGBA', rgba.size, (255, 255, 255, 0)) # 造一个图片,用来装文字水印 image_draw = ImageDraw.Draw(shuiying) for i in range(0, rgba.size[0], font_len * 20 + 100): for j in range(0, rgba.size[1], 200): # 水印字体疏密 image_draw.text((i, j), text, font=font, fill=(255, 50, 50, 50)) # 生成半透明水印文字图片 fill可以调整水印字体颜色 text_overlay = shuiying.rotate(45) # 水印图片旋转45° result = Image.alpha_composite(rgba, text_overlay) # 将两张图片重叠 result = result.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2)).save( 'result.png') # 将结果图片裁剪,并保存为result.png使用说明:请将要处理的图片放在软件同一目录,且命名问picture.jpg,生成结果将是result.png原图:效果图:
2020年05月03日
978 阅读
0 评论
0 点赞
2020-05-02
安装篇——如何搭建一个属于你的博客
这里介绍的是Z-Blog的安装方式,其他的流程都差不多。将源码上传到网站空间目录之后,解压,然后打开绑定的域名点击下一步。傻瓜式安装然后是数据库这块。数据库类型选择MySQL就行了,数据库地址不用变,数据库名和数据库密码以及数据库用户名看下一步操作,表前缀,表储存引擎,数据库驱动默认就好了。网站设置根据自己需求填写即可打开宝塔控制面板,找到数据库信息都在这里直接复制即可,密码点击那个小眼睛就可以直接看见了填写完毕之后就可以下一步了。回到首页之后可以点击这里进入后台的登陆左边这里是一些功能,如新建文章,添加分类等,也可以在应用中心安装插件和模板,安装之后再去插件管理,主题管理开启和切换就行了在右上角的顶栏哪一快有个网址设置,可以设置网站的一些信息然后自己慢慢玩就行了,到此这系列教程圆满结束了,内容才是最重要的,加油。如果可以,可以给本站添加一个友情链接:Lan的小站 https://www.lanol.cn
2020年05月02日
1,220 阅读
0 评论
1 点赞
2020-05-02
服务器篇——如何搭建一个属于你的博客
建网站根据需求可以选择服务器或者虚拟主机。很久很久以前,我还是选择虚拟主机的,但是现在还是选择服务器好一点,也方便一点,而且价格也贵不到哪里去,腾讯云现在活动100元一年,自己建个博客绰绰有余了,还可以做点其他的学习之用,(但是这些活动服务器都是国内的,如果需要搭建网站的话就必须备案了,不过备案现在也不麻烦,本站lanol.cn从开始备案到备案成功也就一个星期左右)。这系列教程主要讲的是国内建站,所以就不分享一些国外的机器了,以后有机会再在博客内分享一些服务器信息吧。腾讯云活动地址:https://url.cn/5bSDYhN可以看到这两款机型,如果你不想备案就选择249元一年的吧,如果方便备案就可以选择第一款99元一年的。操作系统选择:centOS 7.5 ,地区根据自己喜好吧。然后点击立即购买来到这个页面可以查看购买的服务器信息:点击进入登陆服务器:注意:通过快速配置购买的云服务器,系统将为您自动分配云服务器登录密码并发送到您的站内信中。此密码为登录云服务器的凭据。点此获取初始密码登录 云服务器控制台,在实例列表中找到刚购买的云服务器,在右侧操作栏中单击【登录】。输入密码,如果不知道密码可以自己重置,腾讯云控制面板自己找登陆之后,如果熟悉Linux就可以操作了,不熟悉的没关系,关了,然后接着下面的步骤走: 1.进入腾讯云后台,新建安全组2.选择自定义模板(亦可选择放通所有端口,直接应用实例即可) 3.添加入站规则,参考下图进行操作 4.添加出站规则,与入站规则相同 5.将安全组加入实例,参考下图进行操作即可 然后就可以进入下一篇了,宝塔篇
2020年05月02日
3,851 阅读
0 评论
0 点赞
2020-05-02
Linux Vim操作指令思维导图
Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。思维导图:以下内容来自runoob:vi/vim 的使用基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:i 切换到输入模式,以输入字符。x 删除当前光标所在处的字符。: 切换到底线命令模式,以在最底一行输入命令。若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。输入模式在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键:字符按键以及Shift组合,输入字符ENTER,回车键,换行BACK SPACE,退格键,删除光标前一个字符DEL,删除键,删除光标后一个字符方向键,在文本中移动光标HOME/END,移动光标到行首/行尾Page Up/Page Down,上/下翻页Insert,切换光标为输入/替换模式,光标将变成竖线/下划线ESC,退出输入模式,切换到命令模式底线命令模式在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号):q 退出程序w 保存文件按ESC键可随时退出底线命令模式。简单的说,我们可以将这三个模式想成底下的图标来表示:
2020年05月02日
1,372 阅读
0 评论
0 点赞
2020-05-02
MindManager 2020 v20.1.237 永久激活版
MindManager,专业思维导图软件,美国Mindjet公司开发,一款视觉工作管理的思维导图软件,界面友好功能强大,头脑风暴、会议管理及项目管理工具帮您轻松创建思维导图,有序组织思维、资源和项目进程软件来源于52破解论坛。如有问题请联系站长删除:Vast@tom.com安装及汉化教程:1,2,3,4,5,6,7,8,9,回到桌面打开10,11,MP20-888-MP11-AAA5-BBBB12,12,13,14,关闭软件重新打开根据自己系统选择64位Or32位(不懂百度):MindManager 2020 64.msi密码:lanol.cn|大小:305.4MB已经过安全软件检测无毒,请您放心下载。MindManager 2020 32.msi密码:lanol.cn|大小:305.4MB已经过安全软件检测无毒,请您放心下载。
2020年05月02日
2,129 阅读
0 评论
2 点赞
1
...
68
69
70
...
89