文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

2023-06-02 23:31

关注

这篇文章将为大家详细讲解有关通过抓包实现Python模拟登陆各网站的原理分析是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

  一、教程简介

  1.1 基本介绍(私信小编001 、002 、003 、007任何一个即可获取Python学习资料)

  通过分析登陆流程并使用 Python 实现模拟登陆到一个实验提供的网站,在实验过程中将学习并实践 Python 的网络编程,Python 实现模拟登陆的方法,使用 Firefox 抓包分析插件分析网络数据包等知识。

  模拟登录可以帮助用户自动化完成很多操作,在不同场合下有不同的用处,无论是自动化一些日常的繁琐操作还是用于爬虫都是一项很实用的技能。本课程通过 Firefox 和 Python 来实现,环境要求如下:

  Python 库:urllib, http.cookiejar, Django

  Firefox 要求:装有 live http header插件 (已提供)

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  1.3 材料

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  1.4 准备

  1) 安装抓包插件Live Http Headers

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  2)启动web应用

  使用 ps -aux | grep codebox 查询获得 codebox 的进程号,然后使用 kill -9 进程号 停止 codebox 进程。执行过程见下图:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  首先安装demo依赖的web框架django,并测试是否安装成功:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  启动成功后在浏览器中输入 http://localhost:8000/polls 看到登录页面表示启动成功

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  二、分析登录过程

  要通过编程实现登录,首先需要理解一般Web应用的登陆过程。

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  2.1 抓取请求

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  2.2原理分析

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  为什么是2个请求而不是1个呢?通过分析登录请求发现,登陆成功之后服务器发送了302重定向响应,服务器要求浏览器重新请求首页,这就产生了第二个请求。再来分析第二个请求,可以看到它相比登录请求多了一个请求头:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  整个登录流程如下图所示:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  服务器到底是如何区别不同用户的session的?为什么登陆成功会后要回写cookie呢?

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  2.3小结

  对于服务器来说,登录=验证+写session。对于浏览器来说,登录=发送登录信息+获取带sessionid的cookie。可以说,只要获得了sessionid,就算实现了模拟登录。有了它我们便可以游离于系统之中。

  三、使用Python实现登录(简单实例)

  理解了登录过程的原理和细节之后,开始用Python来编写模拟登陆程序吧。

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.1导入模块

  不要忘记编写文件头、导入必要的依赖模块

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.2构造登录请求

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  登录请求的实体部分如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  全部Python代码:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  附加参数

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  防盗链

  Web 应用的资源都是有url的,只要获得了url就能够在任何地方引用。听起来很方便,但这可能会导致你的资源被别人盗用。

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.3发送请求并保存cookie

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  Python代码如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  如果登陆成功

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  就可以在指定的文件my_cookies.txt中看到sessionid了。

  3.4 使用cookie访问系统服务

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  在我们模拟登录成功后,就可以直接通过opener打开这个url来使用这项系统服务。代码实现如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  如果有是在另外一个python文件中使用这个cookie的话,再打开url之前需要先载入cookie:

关于通过抓包实现Python模拟登陆各网站的原理分析是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯