<html>
<head>
</head>
<body class='hmmessage'><div dir='ltr'>

<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Hi,<br><br>Below is a detector for MS Visual Studio - vs 2013 and vs2015 RC -  reaching out to the internet. In particular, most of the traffic is generated when accessing Tools --> Extensions and Updates sub menu. The http requests went without a user-agent.  Pcaps are available, please let me know if needed. Any comments are welcome; still in the "learning" phase :).<br><br><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">--[[</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">detection_name: Microsoft Visual Studio Update</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">version: 1</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">description: Detector for Microsoft Visual Update network traffic</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">metadata: OpenAppID Community</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">]]--</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">require "DetectorCommon"</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">local DC = DetectorCommon</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">gDetector = nil</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">DetectorPackageInfo = {</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    name = "MS_VisualStudio",</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    proto = DC.ipproto.tcp,</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    client = {</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        init = 'DetectorInit',</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        validate = 'DetectorValidate',</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        clean = 'DetectorClean',</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        minimum_matches = 1</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    }</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">}</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">function DetectorInit(detectorInstance)</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    gDetector = detectorInstance</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    DC.printf("%s:DetectorIniti()\n", DetectorPackageInfo.name)</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    gAppId = gDetector:open_createApp("ms_visualstudio");</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    if gDetector.open_addUrlPattern then</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        gDetector:open_addUrlPattern(0, 0, gAppId, "download.microsoft.com", "/VSUpdateTemplate.atom", "http:");</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        gDetector:open_addUrlPattern(0, 0, gAppId, "code.msdn.microsoft.com", "/sample.svc", "http:");</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">        gDetector:open_addUrlPattern(0, 0, gAppId, "visualstudiogallary.msdn.microsoft.com", "/extension.svc", "http:");</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    end</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    return gDetector;</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">end</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">function DetectorValidator()</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    local context = {}</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">    return clientFail(context)</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">end</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">function DetectorClean()</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">end</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">function DetectorFini()</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2">end</font><font style="font-size: 10pt;" face="Courier New,sans-serif" size="2"><br></font><br>YM<br></div>
                                          </div></body>
</html>