【问题标题】:Azure devops pipelines, inspect ftp traffic during releaseAzure devops 管道,在发布期间检查 ftp 流量
【发布时间】:2021-03-06 01:08:45
【问题描述】:

有没有办法记录来自微软托管代理的详细 ftp 流量? 就我而言,在发布管道中运行 ui 测试时,屏幕截图会上传到 ftp 服务器。 昨天当我开始出现以下错误时,它工作了几个星期:

ftp 服务器端和用于上传 ftp 文件的 c# 代码没有变化。 当我在本地运行测试时,上传文件仍然可以正常工作,并且仅当它们从管道运行时才会出现此问题,所以我考虑比较网络流量,寻找一些线索。

【问题讨论】:

  • 你不能在你的测试中添加一些日志吗?记录ftp地址,捕获异常信息等
  • 如果是 FTP 上传,那么为什么需要 HTTP 日志?
  • @ADyson 是的,我的错误我需要 ftp 日志。我已经更新了描述
  • @tubakaya,我有日志,但它们包含公司数据,因此我无法将它们附加到此帖子/问题。 ftp 地址和凭据都可以,唯一的例外是描述中的屏幕截图中的那个
  • 例外是关于协议的,所以我会检查设置是否有任何变化。请参阅此帖子stackoverflow.com/questions/26278782/…。还有一个帖子建议不要使用 system.net.ftpwebrequest 而是使用替代方案,请参见此处:docs.microsoft.com/en-us/dotnet/api/…

标签: c# azure-devops pipeline


【解决方案1】:

有没有办法记录来自微软托管代理的详细 ftp 流量?

您可以尝试使用network tracing 来收集Ftp 流量日志。

您可以在配置文件中添加配置(例如 web.config 、 app.config)。

例如:要收集FTPWebRequestFtpWebResponse 信息,您可以使用system.net

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.Net" tracemode="protocolonly" maxdatasize="1024">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="System.Net" value="Information"/>
    </switches>
    <sharedListeners>
      <add name="System.Net"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="network.log"
      />
    </sharedListeners>
    <trace autoflush="true"/>
  </system.diagnostics>
</configuration>

然后它会创建一个network.log文件。

由于您使用的是 Microsoft 托管代理,因此您可以确定文件位置并使用 Publish Build Artifacts task 将文件作为构建工件上传。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2022-12-05
    相关资源
    最近更新 更多