是这样的,在一台内网计算机上装有一个 内部的信息管理系统,一个 客户端软件,登录后可以查看信息。
需求是:比如我查询某天的交易记录,输入日期后,返回数据。我想 截取这些记录数据,在另外一个系统内显示。
或者只截取这个 日期 也行?我按照 BS 的理解,就是这个查询的参数,一个 http 请求 里面 &
后面的部分。
我不知道这个需求是否可以完成。。。
我对 CS 架构 的设计不熟悉,以前只写过网络爬虫,可以直接从 Chrome 的开发者工具看到请求,然后分析等。
我用 wireshark 能看到有很多 tcp 和 tns 请求,查了下,tns 是 oracle 的协议,怀疑是点击查询按钮后直接查的数据库? wireshark 里面一堆数据看不太懂。。。
有哪位大兄弟了解着一块?麻烦说一下,这个属于什么方向,什么领域?我该以什么 关键字 来搜索等等
谢谢!
1
hxndg 2018-03-21 13:13:18 +08:00
tcp 不能说明什么,如果是自有协议没法解析。
|
2
zcdll OP |
3
shoaly 2018-03-21 14:13:17 +08:00
我感觉是直接查询的数据库... 也许你不用抓包了, 直接问道数据库地址和账号, 自己写客户端就完事了
|
4
zcdll OP @shoaly 嗯嗯,但是我不知道查询的条件呀。这边的用户想着他在 A 系统里查询之后,能通过某种方法自动抓到他查询的条件和 A 系统 返回的结果,自动传送给 B 系统 分析,再显示相应的结果。。。
|
5
hcymk2 2018-03-21 15:02:25 +08:00
你看下客户端是用什么语言写的。
|
6
zcdll OP @hcymk2 额。。。很老了,我在客户这边现场,用的是 Windows XP 的系统,估计是 C++ ?这个软件至少 10 年了
|
7
hcymk2 2018-03-21 15:36:24 +08:00
你先用 wireshark 抓下包,wireshark 里面是可以看到明文的 sql 和查询结果的.
|
8
zcdll OP |
9
huxiaohaiyang 2018-03-22 01:30:25 +08:00
抓包应该解决不了这个问题
桌面程序一般用的封装数据访问协议例如 odbc、ado,不会发送 http 请求,可能有些会用第三方的 service 服务,一般加了 auth 你也拿不到参数 理想方案 :有源代码,分析下代码(控件绑定的操作),然后重新编译,写个服务监控一下 换个思路:找下客户端是否有日志记录,分析日志试试 或监控下搜索框不是很准确 |
10
zcdll OP @huxiaohaiyang 谢谢!
这么说很清晰!昨天查资料的结果,大概是这个样子,大学的时候写过很简单的 C# 的程序,用的 ODBC 啥的。 昨天页找了下,没有日志记录,只有崩溃记录。。。 不过我在 wireshark 中确实看到了 sql 记录,select xxx 啥的,是个 request。再看相邻的 response,就看不懂了,很多乱的字符。。。 |