19.3 请求头伪造
- 伪造原理
在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无法实现正常的通信。这就像我们给对方写信时,如果写出错误的发信人地址,而收信人按信封上的发信人地址回信时,原发信人是无法收到回信的。
注意:本文伪造来源IP 是带引号的。并非是所有 HTTP 应用程序中存在此漏洞。 - 那么如何伪造这项值(X-Forward-For)?
方法一: 如果你会写程序,并了解HTTP 协议,直接伪造请求 header 即可
方法二: 使用 Firefox 的Moify Headers 插件即可(推荐) - 如何避免伪造ip
方法:服务器重新配置X-Forward-For 为正确的值
反爬
反反爬:
1.请求头伪造
2.多次采集数据 Time.sleep(random)
3.ip地址的代理(推荐)
数据头User-Agent反爬虫机制解析:
当我们使用浏览器访问网站的时候,浏览器会发送一小段信息给网站,我们称为Request Headers,在这个头部信息里面包含了本次访问的一些信息,例如编码方式,当前地址,将要访问的地址等等。这些信息一般来说是不必要的,但是现在很多网站会把这些信息利用起来。其中最常被用到的一个信息,叫做“User-Agent”。网站可以通过User-Agent来判断用户是使用什么浏览器访问。不同浏览器的User-Agent是不一样的