js逆向1+2:网络协议和抓包原理,逆向环境软件安装,软件使用

###

爬虫是一个横向的岗位,你要多学习才可以,

###

网络协议

你要知道7层网络协议,

要知道tcp,udp,tcp的三次握手,四次挥手

要知道http的原理,https

要知道输入一个网址,回车之后,发生了什么?

###

抓包工具

fiddler,Charles,wareshark,

python的抓包软件:mitmproxy,

学习抓包工具的常见的使用,

####

逆向环境的软件安装

nodejs

fiddler

Chrome

pycharm

###

谷歌浏览器的开发者工具怎么使用?

这个开发者工具是非常强大的,你真的了解这个工具吗????

element面板,

第一点,这个地方是js和css渲染之后的页面,不是原始页面,

第二点,这个地方还可以打断点,用过吗?

第三点,可以copy xpath,

第四点,可以修改删除html内容,但是刷新就会还原,

console面板

第一点,可以直接js调试,

source面板,源代码面板,可以断点js调试,

调到下一个断点,一步步调试,进入子函数,跳出子函数,

这个面板很重要!!!

介绍:

这个面板有四部分,

1,左侧的资源列表,目标这个网页加载的所有的资源都在这里,

2,中间是某一个资源的详情,鼠标放到上面可以看到更加详细的内容,

3,右侧是一些断点的操作,比如下一步,还有断点的方法,

4,底部是一个控制台,

js调试实战案例

打开一个网站,打开控制台,进入source面板,

在左侧选中一个js资源,

1,在中间资源的详细情况,点击左侧的数字标号,可以增加一个断点,断点的意义是在执行这一句代码的前一刻会停止,记住是前一刻,

鼠标选中这一行代码,可以看到执行的结果,这个时候也可以在底部的控制台,进行调试,比如输入变量查看变量的情况,

鼠标放到断点这一行,如果是一个变量是可以变量的具体的值得,

如果是一个函数,悬停之后,点击这个函数名是可以进入这个函数的,但是如果一个js内核函数,native code,这个就不能点击进入查看了,

在行号上面右键点击,可以选择never pause here ,这个是永远不在这个地方暂停,可以用来对抗无限debug的场景,

2,右侧第一个按钮,播放按钮,可以跳转到下一个断点,

第二个按钮,半圆形的按钮,是单步调试,遇到子函数不会进去,

第三个按钮,向下的箭头,是单步调试,可以进入子函数执行,

第四个按钮,向上的箭头,这个是比如你在调试的时候进入了一个函数,但是你不想看这个函数了,可以点击这个按钮,跳出这个函数,

第六个按钮,按钮覆盖删除线,这个是可以启用断点和取消断点,

3,右侧的按钮下面是堆栈的信息,

threads,这是线程,有的网站是没有这个线程的,

watch,这个可以监控一个变量,

call strack,这是调用堆栈,是一个堆栈的调用链,

scope,这个可以看到所有的堆栈和函数的情况,可以看到这个函数的api,

breakpoint,这个是你手动打的断点,可以点击定位到断点,可以移除断点,

XHR/fetch breakpoint,用这个断点可以找入口函数,后面讲解,

DOM breakpoint,这个就是在element里面打的dom断点,

network,网络面板

是Chrome自带的抓包工具,但是抓到的都是应用层的内容,

左侧是请求列表

右侧是请求的详情,

header,这个请求头,

preview,这个请求结果预览,这个如果html,可以看到渲染后的页面,如果是json,可以看到json格式的内容,

response,这个请求响应,

initiater,这个很重要,可以帮助我们溯源,可以看到每一个请求是谁发起的,点击可以跳转,

timing,时间性能,

performance和memory,这两个面板是性能面板和内存面板,很少用,

application,应用面板,里面可以查看cookie,删除cookie,编辑添加cookie,

####

抓包工具的使用

中间人攻击,

#

####

原文地址:https://www.cnblogs.com/andy0816/p/15077558.html