o******1 发帖数: 1046 | 1 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有
从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。
但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。
但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。
看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一
起sha256加密,还有form的action函数是未知的。
请教俩问题:
1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页
面都能用wget(或者curl)返回吗?
2. 具体我这个case,有没有什么建议呢?
谢谢! |
c********1 发帖数: 5269 | 2 I use selenium(with python or java) to get secured web page, it works well.
【在 o******1 的大作中提到】 : 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有 : 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。 : 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。 : 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。 : 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一 : 起sha256加密,还有form的action函数是未知的。 : 请教俩问题: : 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页 : 面都能用wget(或者curl)返回吗? : 2. 具体我这个case,有没有什么建议呢?
|
o******1 发帖数: 1046 | 3 因为是从gateway(linux box)上执行这个操作,存储资源有限,系统都是embedded
linux版本。所以从wget试起,实在不行才会考虑curl。
【在 c********1 的大作中提到】 : I use selenium(with python or java) to get secured web page, it works well.
|
c********1 发帖数: 5269 | 4 It is tricky to manually tracking cookies, and deal with encryption and
https encryption.
You can try curl if resource is not an issue.
curl should not use a lot of more computer resouce than wget.
【在 o******1 的大作中提到】 : 因为是从gateway(linux box)上执行这个操作,存储资源有限,系统都是embedded : linux版本。所以从wget试起,实在不行才会考虑curl。
|
o******1 发帖数: 1046 | 5 多谢!那个网页倒不是https协议,就是直接端口80的http协议。原则上是不是只要给
对了cookie和密码,就应该正确返回呢?
【在 c********1 的大作中提到】 : It is tricky to manually tracking cookies, and deal with encryption and : https encryption. : You can try curl if resource is not an issue. : curl should not use a lot of more computer resouce than wget.
|
c*********e 发帖数: 16335 | 6 你这种做法,其实就是csrf,这是hacker常用的伎俩。一般为了避免这个hack,在网页上
有个隐藏的field,是csrf token,每次由server side给出这个token的值,然后用户
submit之后,server side会检查这个token是否和设置的一致。
你看看网页的request里面有没有submit token?
【在 o******1 的大作中提到】 : 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有 : 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。 : 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。 : 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。 : 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一 : 起sha256加密,还有form的action函数是未知的。 : 请教俩问题: : 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页 : 面都能用wget(或者curl)返回吗? : 2. 具体我这个case,有没有什么建议呢?
|
c********1 发帖数: 5269 | 7 You can use fiddler to monitor the communication between web client and web
server.
http://www.telerik.com/fiddler
原则上只要给 send the same data as a logined web broswer.
You can manually use a web browser to login, and check the communication
between web browser and web server..
【在 o******1 的大作中提到】 : 多谢!那个网页倒不是https协议,就是直接端口80的http协议。原则上是不是只要给 : 对了cookie和密码,就应该正确返回呢?
|
l*******m 发帖数: 1096 | 8 直接 ssh 写scripts, 安全又方便
【在 o******1 的大作中提到】 : 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有 : 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。 : 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。 : 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。 : 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一 : 起sha256加密,还有form的action函数是未知的。 : 请教俩问题: : 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页 : 面都能用wget(或者curl)返回吗? : 2. 具体我这个case,有没有什么建议呢?
|
c*********e 发帖数: 16335 | 9 有的web app,在你登录进去后,有个session cookie,这个session cookie是存在
browser的内存里的,browser关闭的时候,session cookie就消失了。
web
【在 c********1 的大作中提到】 : You can use fiddler to monitor the communication between web client and web : server. : http://www.telerik.com/fiddler : 原则上只要给 send the same data as a logined web broswer. : You can manually use a web browser to login, and check the communication : between web browser and web server..
|
c********1 发帖数: 5269 | 10 My understanding of [session cookie]. I did not verify that.
[session cookie] is in memory, it can not be read by javascript, however it
will be sent to web server.
【在 c*********e 的大作中提到】 : 有的web app,在你登录进去后,有个session cookie,这个session cookie是存在 : browser的内存里的,browser关闭的时候,session cookie就消失了。 : : web
|