网络扫描
网络扫描通过网络扫描,可以获取网段内存活的主机以及其开放的端口,更加深入的扫描则能够探测主机的操作系统,配置,安装的软件等。 主机发现在网络中发现主机有很多方法,如果在局域网内使用arp协议可以轻易的发现存活的kv主机,如果在不同的网段使用ICMP协议也可以尝试和主机取得联系,TCP和UDP协议同样可以 ARP协议探测ARP协议通过向局域网广播的方式将同网段主机IP地址解析为MAC地址。在一个路由器下的局域网内,如果对某个IP发起ARP请求,如果这个IP通过路由器上网,那么路由器肯定有这个主机的MAC地址,因此广播到路由器时会受到主机的IP地址;如果不存在这个IP,那么将没有MAC地址的回复。根据是否受到MAC地址,就可以判断局域网内的这个主机是否存活。 1234567891011121314151617def arp(ipy): dst_ip_list = IPY(ipy) alive_ip_list = [] for dst_ip in dst_ip_list: pkt = ARP(pdst=str(dst_ip)) ans = ...
微博爬虫实例
你需要先了解…关于此文章… 一. 帖子懒得写,贴个源码。爬不了的话,传入你的cookie 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101import requests # 网络请求import random # 与time控制网络请求频率import time # 与random控制网络请求频率import json # 响应的json数据分析from tqdm import tqdm # 进度条# 由此函数完成 请求-响应解析 的过程# 接收评论json文件的url,解析json文件并返回评论信息字典(max,total_number,max_id,max_id_type,commentlist[])def getCommentT...
子域名爬虫
子域名爬虫百度百度子域名搜索语法:domain:xxx.com百度将子域名存在于 div 标签的 mu 属性中,你可以通过 class=”result c-container xpath-log new-pmd” 找到这个 div 标签。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859# 定义一个采用baidu搜索的方法def baidu_search(): print("Powered by baidu...") domain = input("input the domain you want to query:") page = int(input("The more page,the more subdomain(not sure):")) if page < 1 or page > 100: ...
Web开发(五)-JWT
这篇文章将会向你介绍JWT的理论基础和程序实现 一. JWT-理论JWT基础如果你没有任何基础,请耐心看完这一部分想象一下你登录某个网站的场景。你从登录页面输入账号密码进入到该网站,同时该网站返回你的个人信息,包括你的昵称,头像,个性签名,显示到网页上。更重要的是,登录网站意味着你的身份得到服务器的验证,你获得了访问你的个人信息的权限。服务器通过账号密码识别我们的身份吗?是,但不完全是。首先,你需要明白我们浏览器所依靠的http协议是无状态的。这就好像你和一个记忆力差劲的人交流,每一轮对话之后,他都会忘记你的名字。所以,你在每次和他说话之前,都需要重申你的身份。服务器就像这么一个人,尽管你对它说尽千言万语,而服务器只会在众多用户中迷失你的名字。那么,这是否意味着我们必须在每一个请求之前都输入我们的账号密码来告知服务器我们的合法身份呢?答案是否定的,有更简单的解决方案。JWT(JSON WEB TOKEN)就是一种实现方式。在输入账号密码之后,服务器会返回一个token给我们。以后在每次请求,我们带上token,服务器便会在用户中认出你。但是,如果你企图修改token,服务器能轻易...
爬虫(三):结果保存
一般来说会把爬取的结果存储到列表或者字典中,然后将结果写入文件中 一. TXT代码比较简单,看一下应该就懂了…对于列表 12345678# 是否保存save = input("共" + str(len(comment_list)) + "条记录,保存到commen.txt(y/n):")if (save == "y" or save == "Y"): print("正在写入中...") with open("comment.txt", "w", encoding="utf-8") as f: for comment in tqdm(comment_list): f.writelines(comment + "\n") 对于字典 1234567# 是否保存?save = input("共" + str(len(list_dic_blog...
Web开发(四)-MyBatis
一. MyBatis-理论这一部分我也不是很了解,简单的写点理解。 1. MyBatis基础MyBatis将数据库语句映射到java函数,将一个函数同SQL语句绑定后,当你调用这个函数,对应的SQL语句将会执行,并且返回参数到函数的返回值。同时,MyBatis将数据库的表和java的对象做了很好的连接。在MyBatis的作用下,映射SQL查询语句的函数可以返回java对象。 二. MyBatis实现1. 依赖和配置依赖你可以直接使用MyBatis-plus版本,它支持MyBatis 12345678910111213141516171819<!--mybatis-plus--><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version></dependency><!--My...
车载U盘
最近发现一个好玩的东西,车载U盘不知道大家有没有用过。暑假,有个哥哥叫我帮他U盘下点歌,顺便删掉里面的一些DJ歌曲。我想,这不简单吗?我接过U盘,插在电脑上,吓我一跳,提示我无法打开,需要格式化,这点错歌不全没了吗。我才发现,事情没有我想象的那么简单。于是,我马上搜索 “车载U盘” 相关信息。互联网上信息很多,但是我的信息检索能力还算合格吧。不一会就发现了问题所在。一般车子系统是Linux,车载U盘使用也是Linux系统的分区,因此我插入Windows系统的电脑并不能识别出U盘的音乐文件,而是直接提示我格式化U盘。原来如此,那么解决方案是什么呢? 最简单的方法:买一根连接U盘的转接线,手机是Linux内核的Android操作系统,因此可以解析车载U盘中的音乐文件。 如果你的计算机内装有Linux虚拟机,那么你也可以通过虚拟机连接U盘来对其中的文件进行更改。嗯,然后就熬夜下歌…最后发现搞错了,啊…joker额,怎么说呢?一个小小的车载U盘,即使学过操作系统,考试也觉得不难,但是倘若缺乏这次经历,可能我仍不知。我就像井底之蛙,但还好没事折腾两下自己,能看看更广阔的天地。
爬虫(二):响应解析
*当你获取响应文件后,你需要做的就是收集其中的关键信息。对不同的响应文件格式你需要选择不同方式解析。*下面是一些常见的响应解析方式 一. Xpath1. Xpath基础Xpath适用于解析HTML格式文件,并且语法及其简介。 2. 对str对象使用Xpath对于一般的HTML格式响应对象 response.text() 是字符串类型,因此在使用之前: from lxml import etree 3. Xpath语法这里先举个例子(也是我开始学爬虫的测试网站)如果你想拿到 a标签 的href属性://div/ul/li/a/@href如果你想拿到 img标签 的src属性://div/ul/li/a/span/img/@src如果你想拿到 b标签 的内容://div/ul/li/a/b/text()//div能够锁定所有div标签,这也是经常使用的Xp...
Web开发(三)-TomCat
一. TomCat-理论1. Tomcat基础TomCat是一个Web服务器,它默认活跃在电脑的8080端口,接收HTTP请求。同时,TomCat提供规范的HTTP接口,它接收规范的HTTP请求,对于Response,你也不需要自己编写,因为TomCat帮助你返回标准的Response。下面是具体实现: 当你访问此localhost:8080时,浏览器或者其他代理发送的HTTP请求将会被TomCat截获, 如果你在SpringBoot框架中使用TomCat,你可以获取HTTP请求,对数据做处理。 最后,你希望对这个请求作出响应,TomCat帮助你构建标准的HTTP响应。 二. TomCat-实现1. 依赖和配置当你新建一个SpringBoot项目时,该项目集成了TomCat。因此,你不必要花时间去配置TomCat。 2. Controller类一般来说,我们把对请求的处理封装在Controller类中。 @RestController你可以在使用这个注解标注为Controller类,在这个类中你可以定义函数处理HTTP请求。@RestController = @Co...
博客(四):优雅的写一篇文章
你需要先了解…有关此文章… 一. MarkDown/MD基础如果你需要向博客上传文章,将MD文档放置到blog/hexo/source/_posts目录下即可。类似于WORD文档,MD同样适用于写作和笔记。MD依赖于键盘输入控制文章的排版格式,不需要鼠标意味着你能拥抱更快的写作速度。不必担心的是,MD比WORD要简单的多。如果你需要学习,下面是一些MarkDown语法。 1. 标题12# 一级标题 一级标题12## 二级标题 二级标题12### 三级标题 三级标题12#### 四级标题 四级标题12##### 五级标题 五级标题12###### 六级标题 六级标题2. 正文正文 12正文 加粗 12**加粗** 斜体 12*斜体* 加粗&斜体 12***加粗&斜体*** 3. 图片&链接图片复制图片以后在文档的合适位置粘贴。当然你可以更改括号中的图片位置,MD文件会识别同目录下的图片。如果你把这些图片放在下层的一个目录进行收录,那么请更改括号中的路径。另外,你也可以在括号中放置图片的...












