0

您好,无法确定从 Windows 远程协助创建的文件中创建变量的起点。我需要从文本文件中提取端口,这样我就可以创建一个允许从任何地方进行远程协助的 ssh 隧道。

端口出现在 'RCTICKET="65538,1,192.168.9.22:7532,' 中的 ip 地址之后除非端口是 5 位数字(我认为这里检查第 5 个字符是否是逗号,表示 4 位端口,如果它的数字表示 5 位端口)

从哪里开始的任何帮助我已经搜索了几个小时,只是想不出如何将其放入搜索词中。

下面是一个 test.msrcincident 的示例,该文件由 Microsoft 远程协助创建,我需要从中提取端口

<?xml version="1.0"?>
<UPLOADINFO TYPE="Escalated"><UPLOADDATA USERNAME="jon"          LHTICKET="BDF9C9782B31A1BC276C029A169930ABB4490E2088169FA45A3A095258F5C54D345F4D793363E2C9   B924C5D6A38210AF2E86B3E3D33E5BEB3E35729ECDA88D5F5CE23879899768432726AF419FA2147194F4358BA2A0F245C4307EC8CAB882E2B670977562E5423C90EC336A15BA3DC57496F1EBB26B55B449B45FBD317CD4E422186EA7989F78C6FC3019BCF5831B1E060B174C5254D92448992A543079E576A66617F8B5BEA4C5961FC75C0B67F28B996CD4F1247DBC1C725B9D69B094B53AE24A533501A607CF119ED99C34F0C7210376C6564A48E25871AA32934409D981CF63F60DA956B0877AFBD669DFC321D16D55A34B9949AE0B26B6EEB473915AC416ABFC1129C08021F4011F1F0D1869BB86842C0218C03286C956FC7897B319E0B3A495EBA8ED41835E84E6BAD6B30199F6ACF191B6529DF2C5A264F578AF3B31A84997DA9C4BF1F8AD9E4931F99AE94A0E66D941F050AC0B025523148A95D24E60A6C548341C486BB40089B2088F5FE49AC966D65B728E36E0D7D76C98827335983BEC912DFC0B714DBBBFA060DE62658E7BABDB9BEB45486138950548DA62FDFD6437D0798A67D20CA1911880F58FCDA5F98FA5E0CAEF643171FE9DA8AF046" RCTICKET="65538,1,192.168.9.22:7532,*,U15FphW2EDtpPVdlHmafYLmnO/aVc+YFoFEw30tpjJ+6vJ+LspOTtaqgFoDt3bsp,*,*,P1ooZJPDyfMMTXqlz5hACdwD8F4=" PassStub="TE*0ViGNuB2T6I"     RCTICKETENCRYPTED="1" DtStart="1379526042" DtLength="360" L="0"/></UPLOADINFO>

感谢您阅读

4

1 回答 1

0

在某种程度上,像这样简单的事情会为您提供所需的数据:

    var reader = XDocument.Load("path to XML file");
    var data = reader.Element("UPLOADINFO")
                     .Element("UPLOADDATA")
                     .Attribute("RCTICKET")
    var values = data.Split(',');

您将需要使用该 RCTICKET 字符串来提取您需要的值。在单个属性而不是整个文件的上下文中使用逗号、冒号和诸如此类的东西会更安全一些。警告:当我生成一个事件文件时,我最终在 RCTICKET 字段中有多个 IP 地址。我的机器中有多个 VPN 和以太网适配器。你必须选择正确的。

如果 XML 不是我们期望的格式,或者文件不可访问,您还需要处理失败。您可以通过 try/catch 和/或检查空值来做到这一点。

于 2013-09-18T18:13:49.050 回答