【应用服务 App Service】App Service中抓取网络日志
问题描述
众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所以当遇见一些实例级的问题时,可谓一点办法也没有。 这时,一些Azure提供的排查工具就非常有用,如在App Service for Windows的情况下,我们可以通过Kudu工具进行文件管理,如下载日志,修改web.config配置,运行抓取DUMP的命令(或查看进行直接抓取DUMP,详见:(【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core)))。
但是,当我们发现通过App Service调用其他的请求时,需要调查网络丢包,请求没有响应,或是需要查看请求的Header时,则需要在实例中抓取网络包(当问题正在发生时抓取)-- 在PowerShell中通过ArmClient向App Service发送抓包请求,然后通过Kudu链接到logfiles\networktrace目录下下载网络包
准备条件
- PowerShell使用管理员方式打开
- 登录App Service Kudu管理页面 (Azure App Service --> Advanced Tools --> Go)
- 准备号App Service的资源ID (Azure App Service --> Properties --> Resource ID)
执行步骤
一:安装 ArmClient 工具
打开 PowerShell (管理员权限)
安装 chocolatey, 命令为: iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- 安装 armclient 工具,命令为: choco install armclient

二:使用 Azure 账号登陆 ARMClient
armclient.exe login Mooncake
注:当使用中国区的Azure时候,才需要加入Mooncake参数。

三:抓取网络日志
armclient.exe POST "/subscriptions/<sub>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<site>/networkTrace/start?duration=<seconds>&api-version=2015-06-01"
使用App Serivce中Resource ID中的Sub,RG,Site等替换后,直接再PowerShell中运行以上命令。
注:duration(最大设置为 300,目前只允许抓取最长 5 分钟的网络包)

注:当第一次Post请求没有完成前,如果你再次发送请求则会返回Error Message, BadRequest.
当抓取成功后,可以再Kudu站点的\home\logfiles\networktrace 下载网络包

分析网络举例
从App Service Kudu中 \home\logfiles\networktrace 下载网络压缩包解压后。使用Wireshark分析,如下图中我们可以查看的信息有(如使用HTTPS加密传输,则需要解密才可查看)
- 请求的URL
- 请求的类型,如GET, POST等
- 请求中所携带的Header键值
- Response的状态等
- 还有也可以分析TCP级的ACK,FIN等

参考资料
如何在 Web 应用实例上住抓取网络日志: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-web-apps-howto-crawl-log
快速获取DUMP文件: https://www.cnblogs.com/lulight/p/13574331.html
【应用服务 App Service】App Service中抓取网络日志的更多相关文章
- 【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linu ...
- 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析
问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...
- windows中抓取hash小结(下)
书接上回,windows中抓取hash小结(上) 指路链接 https://www.cnblogs.com/lcxblogs/p/13957899.html 继续 0x03 从ntds.dit中抓取 ...
- java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息
1.显示4位验证码 注:大小写字母.数字混合 public static void main(String[] args) { String s="abcdefghijklmnopqrstu ...
- #在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat
#在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat子网和主机网络是同一网络,网络管理员要注 ...
- ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_201 ...
- FETCH - 用游标从查询中抓取行
SYNOPSIS FETCH [ direction { FROM | IN } ] cursorname where direction can be empty or one of: NEXT P ...
- windows中抓取hash小结(上)
我上篇随笔说到了内网中横向移动的几种姿势,横向移动的前提是获取了具有某些权限的用户的明文密码或hash,正愁不知道写点啥,那就来整理一下这个"前提"-----如何在windows系 ...
- iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据
网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教 ...
随机推荐
- MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解
文章出处:https://www.souyunku.com/2018/07/30/mysql/?utm_source=tuicool&utm_medium=referral MySQL/Inn ...
- 【二叉树-BFS系列1】二叉树的右视图、二叉树的锯齿形层次遍历
题目 199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, ...
- Hadoop入门学习整理(一)
今天是2020年4月8日,是一个平凡而又特殊的日子,武汉在经历了77天的封城之后,于今日0点正式解封.从1月14日放寒假离开武汉,到今天已近3个月,学校的花开了又谢了.随着疫情好转,春回大地,万物复苏 ...
- Tomcat http转https
1.先申请ssl 腾讯 阿里都有免费的一年的 2.修改tomcat conf文件夹的service.xml文件 <!-- 将所有的8443 改为443 --> <Conne ...
- java的注解学习
转载自https://www.cnblogs.com/xdp-gacl/p/3622275.html 孤傲苍狼 只为成功找方法,不为失败找借口! Java基础加强总结(一)——注解(Annotatio ...
- jfinal3连接sqlserver2012 保存日期字段出现“不支持从 UNKNOWN 到 UNKNOWN 的转换”错误
修改Dialect中的fillStatement方法,增加判断日期类型并转换为时间戳
- MySQL: 2、SQL语言
一.SQL的简介: 1.SQL的概念: SQL就是结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统 2.SQL的作用: - ...
- IntelliJ IDEA 2020.2 x64 最新破解教程有效期到2089年 完全免费分享
作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.com 个 ...
- 编程体系结构(04):JavaIO流文件管理
本文源码:GitHub·点这里 || GitEE·点这里 一.IO流分类 1.分类角度 流的方向 输入流:从数据源中读取数据到应用中的流: 输出流:从应用中将数据写入到目的地的流: 流数据类型 字节流 ...
- PyCharm-缩进 格式化代码
格式化代码 Ctrl + Alt + l 缩进代码 Tab 向右缩进4格 Shift + Tab 向左缩进4格