【经验分享】Android 8下ps只能看到两个进程(如附图1所示),使用"ps -A"即可。 PS:Android 7及之前版本,直接ps就能看到所有进程,不支持-A参数。 ​

11月25日 18:50转发|评论

【分享】抓包分析发现一个微信公众号文章长链接(mp.weixin.qq.com/s?__biz=*&mid=*)转短链接的接口(mp.weixin.qq.com/*)。 微信公众号文章长链接示例: ​

11月23日 08:12转发|评论

【经验分享】使用Frida脚本强制给okhttp3.OkHttpClient设置代理。 背景:某些应用使用Proxy.NO_PROXY跳过系统代理设置(例如附图),导致代理模式无法抓到HTTPS流量。 脚本如下: Java.perform(function(){ // OkHttpClient强制设置代理 var OkHttpClient = Java.use("okhttp3.OkHttpClient") ​

11月9日 20:33转发|评论

【经验分享】apache mod_proxy实现url转发时如何避免后端域名的DNS缓存 方法如下示例,加项disablereuse=On配置项即可: ProxyPass / http://后端域名/ retry=0 disablereuse=On 关于disablereuse参数mod_proxy文档(http://t.cn/A6ojsFCv)有说明: This parameter should be used when you ​

11月2日 11:14转发|评论

【经验分享】ttyd - Share your terminal over the web ttyd是一款能将Linux/Andorid/Windows终端以Web形式展现的命令行工具,用法简单但功能强大。项目主页是:github.com/tsl0922/ttyd。 releases里有编译好的二进制程序,直接下载系统对应版本即可使用,无需安装。 用法举例: Linux:执行"ttyd lo ​

11月1日 21:16转发|评论

【经验分享】推荐一个支持语法高亮的cat命令行工具 - bat 项目主页是:github.com/sharkdp/bat/,bat支持对大部分编程语言和标记语言提供语法高亮显示。可以作为cat命令的高级替代品。采用Rust语言编写。 效果如附图所示。 ​

10月30日 16:01转发|评论

【经验分享】proxychains Windows版 借助proxychains可以让不支持代理的程序强制走代理,proxychains-windows是其Windows版本,项目主页:github.com/shunf4/proxychains-windows。 其原理是Hook方式实现:通过劫持connect, WSAConnect, ConnectEx, GetAddrInfoW等函数调用。 直接从releases里下载编 ​

10月29日 12:48转发|评论

【经验分享】推荐两个Python实现的adb客户端库 原理如附图所示,直接通过socket和"adb server"进行交互来实现功能,而非调用adb二进制客户端程序实现。也就是adb.exe的Python实现。 第一个是:adbutils,项目主页是github.com//openatx/adbutils。 第二个是:pure-python-adb, ​

10月29日 09:11转发|评论

【经验分享】如何adb连接远程的安卓设备? 方法一:直接远程连接。 (1)在安卓设备上开启网络ADB(即adb over TCP/IP)。可以使用"ADB Manager"这个APP,如附图1所示。adbd默认监听设备上的5555端口。 (2)然后通过路由器端口映射或者frp内网穿透,将设备的5555端口暴露出来。 (3)最后在本地使用“a ​

10月29日 09:05转发|评论

【经验分享】如何让Linux系统预留指定端口,防止被自动分配机制拿走(占用)。 背景:系统上开启了很多网络服务,重启某个业务时经常出现端口被占用的情况。 解决方法: 以Ubuntu 16.04为例,编辑 /etc/sysctl.conf,加入如下配置行: net.ipv4.ip_local_reserved_ports=6666,7777,8888,9999,54001-54 ​

8月27日 10:31转发|评论

【经验分享】docker使用xvfb-run执行命令被挂起问题(xvfb-run hangs in container)解决: 给docker run加上 --init参数即可。 ​

8月17日 17:45转发|评论

【经验分享】JSON序列化Python字典遇到datetime出现“TypeError: datetime****** is not JSON serializable”问题的解决 例如,json.dumps({'datetime': datetime.now()}),会抛出如附图1的异常。 解决方案: json.dumps()提供了一个default参数,用于在遇到无法序列化的类型时进行自定义的处理。如下 ​

8月13日 12:05转发|评论

【经验分享】playwright/selenium绕过反自动化/爬虫检测最新方案 原理:是通过在页面加载之前注入js脚本,抹去navigator.webdriver等浏览器自动化特征。 使用的这个js脚本(stealth.min.js)来源于Github上的puppeteer-extra-plugin-stealth项目(A plugin for puppeteer-extra and playwright-extra t ​

8月10日 11:05转发|评论

【经验分享】miller以XTAB格式查看字段内容较多或者字段较多的CSV文件 示例:mlr --icsv --oxtab --from mouser_products_202208.csv head -n 3 官方文档:http://t.cn/A6SZrjSb 效果如附图所示。 ​

8月10日 10:26转发|评论

【分享】"CZ88纯真IP库20220420版" - MySQL版(52万条)免费下载 数据说明: 基于”QQ纯真IP库20220420版”转换的MySQL版本,共计529,985条。添加的数字格式的IP段起始和终止字段,可以通过该数据快速查询出某IP的归属国家、位置信息。 字段说明: `ip_start_num` – 起始IP,数字类型(根据ip_start ​

8月2日 12:34转发|评论

【经验分享】一例Squid http认证异常问题的排查 背景: (1)Squid配置的HTTP代理。使用external_acl_type自定义acl脚本进行ip和用户名密码认证,acl通过的放行,否则deny。 (2)Playwright设置带用户名密码认证的http代理(上述Squid)代理。 问题: curl命令或者requests库测试均工作正常,但是Pla ​

6月23日 10:58转发|评论

【经验分享】利用HAProxy Runtime API的"set server"命令可以动态修改Haproxy的Backend server。 例如 将Backend "backendout"的 Server "server1"的地址修改为115.209.110.181,端口修改为32603,执行如下命令即可。 echo "set server backendout/server1 addr 115.209.110.181 port 32603" | socat s ​

5月22日 16:22转发|评论

【经验分享】linux下如何检测某个网口下有ADSL拨号设备信号? 用途:检测拨号设备是否工作正常,或者网口与拨号设备的连接是否正常。 方法:可以使用"pppoe-discovery -I eth1"命令,eth1修改为具体要检测的网口。如果对应网口和拨号设备连接正常,将会返回BAS的名称和IP。 文档连接: ​

5月10日 19:10转发|评论

【经验分享】如何查看客户通过web隧道访问了什么网站? Web隧道内传输的数据通常是经过ssl加密的,如何通过抓包查看客户访问了什么网站呢?我们知道Web隧道的建立离不开HTTP的CONNECT方法,因为只要我们过滤CONNECT关键词就能拿到客户连接的目标网址。 例如,我们通过ngrep进行包过滤,锁定Web隧道服务 ​

5月10日 16:58转发|评论

【经验分享】接上一篇:Android APP内置WebView如何获取当前加载的URL(方法二)? 这次是直接HOOK android.webkit.WebView类的loadUrl()方法,可以直接得到加载的URL。同时也可以再loadUrl()内调用setWebContentsDebuggingEnabled(true)开启远程调试。效果如附图所示,这是某宝APP内嵌的H5页面,成功 ​

5月6日 13:31转发|评论