<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Thank you Costas. I understand your point regarding the issues as it feels that it canm be done a lot better. Pcaps will coming your way shortly.<div><br></div><div>Thanks.</div><div>YM<br><br><div><hr id="stopSpelling">From: ckleopa@...5...<br>To: snort@...46...<br>Date: Wed, 13 May 2015 21:06:16 +0000<br>CC: snort-openappid@...35...sts.sourceforge.net<br>Subject: Re: [Snort-openappid] YoudaoDict OpenAppID Detector<br><br>




Thanks for your contribution again. We will evaluate its use and see if we can add it to a future release of ours. 
<div><br>
</div>
<div>We already see some issues with this, so if you can send us pcaps for validation again, we can describe into detail on the problems we see.</div>
<div><br>
</div>
<div>Costas<br>
<div><br>
<div>
<blockquote>
<div>On May 13, 2015, at 4:44 PM, Y M <<a href="mailto:snort@...46...">snort@...46...</a>> wrote:</div>
<br class="ecxApple-interchange-newline">
<div>
<div dir="ltr" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
Hi,
<div dir="ltr"></div>
<div><br>
</div>
<div>Below is openappid detector for YoudaoDict app. There are OS-based clients and the detector below documents some of them. The code is commented to reflect the documentation. Pcaps available if needed (client/server).</div>
<div><br>
</div>
<div>My first approach to tackle this was to use logic/flow similar to "client_Gnutella.lua", however, there were pieces I couldn't find any documentation for and had no luck getting it to work. Will try to give it another shot.</div>
<div><span style="font-size:12pt;"><br>
</span></div>
<div><font face="Courier New, sans-serif" size="2">--[[</font></div>
<div><font face="Courier New, sans-serif" size="2">detection_name: YoudaoDict Pro</font></div>
<div><font face="Courier New, sans-serif" size="2">version: 1</font></div>
<div><font face="Courier New, sans-serif" size="2">description: Detector for YoudaoDict dictation and dictionary clients (Windwos, OS X, Android). There is a client for iOS, but not tested (no emulator).</font></div>
<div><font face="Courier New, sans-serif" size="2">metadata: OpenAppID community</font></div>
<div><font face="Courier New, sans-serif" size="2">]]--</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">require "DetectorCommon"</font></div>
<div><font face="Courier New, sans-serif" size="2">local DC = DetectorCommon</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">gDetector = nil</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">DetectorPackageInfo = {</font></div>
<div><font face="Courier New, sans-serif" size="2">    name = 'YoudaoDict',</font></div>
<div><font face="Courier New, sans-serif" size="2">    proto = DC.ipproto.tcp,</font></div>
<div><font face="Courier New, sans-serif" size="2">    client = {</font></div>
<div><font face="Courier New, sans-serif" size="2">        init = 'DetectorInit',</font></div>
<div><font face="Courier New, sans-serif" size="2">        validate = 'DetectorValidate',</font></div>
<div><font face="Courier New, sans-serif" size="2">        clean = 'DetectorClean',</font></div>
<div><font face="Courier New, sans-serif" size="2">        minimum_matches = 1</font></div>
<div><font face="Courier New, sans-serif" size="2">    }</font></div>
<div><font face="Courier New, sans-serif" size="2">}</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">function DetectorInit(detectorInstance)</font></div>
<div><font face="Courier New, sans-serif" size="2">    gDetector = detectorInstance;</font></div>
<div><font face="Courier New, sans-serif" size="2">    DC.printf ('%s:DetectorInit()\n', DetectorPackageInfo.name)</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    --[[ There is a limitation on the maximum number of characters for the AppId passed to open_createApp</font></div>
<div><font face="Courier New, sans-serif" size="2">         Maximum number of allowed characters: 14</font></div>
<div><font face="Courier New, sans-serif" size="2">         Error message: Appname invalid</font></div>
<div><font face="Courier New, sans-serif" size="2">         Need to be added to OpenAppID documentation</font></div>
<div><font face="Courier New, sans-serif" size="2">    ]]--</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    -- Detector for the Android client</font></div>
<div><font face="Courier New, sans-serif" size="2">    gAppId = gDetector:open_createApp('youdaodict_and')</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    if gDetector.open_addHttpPattern then</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "youdaodict")</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "Android")</font></div>
<div><font face="Courier New, sans-serif" size="2">    end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    -- Detector for Windows</font></div>
<div><font face="Courier New, sans-serif" size="2">    gAppId = gDetector:open_createApp('youdaodict_win')</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    if gDetector.open_addHttpPattern then</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "youdaodict")</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "(windowspc)")</font></div>
<div><font face="Courier New, sans-serif" size="2">    end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    -- Detector for Windows client</font></div>
<div><font face="Courier New, sans-serif" size="2">    gAppId = gDetector:open_createApp('youdaodict_winc')</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    if gDetector.open_addHttpPattern then</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "Youdao Desktop Dict")</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "Windows")</font></div>
<div><font face="Courier New, sans-serif" size="2">    end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    --[[ Detector for OS X. There are two versions of the same app</font></div>
<div><font face="Courier New, sans-serif" size="2">         One can be dowanloaded directly from the app website (tested below)</font></div>
<div><font face="Courier New, sans-serif" size="2">         Second can be downloaded from AppStore (not tested)</font></div>
<div><font face="Courier New, sans-serif" size="2">    ]]--</font></div>
<div><font face="Courier New, sans-serif" size="2">    gAppId = gDetector:open_createApp('youdaodict_osx')</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    if gDetector.open_addHttpPattern then</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "\230\156\137\233\129\147\232\175\141\229\133\184")</font></div>
<div><font face="Courier New, sans-serif" size="2">        gDetector:open_addHttpPattern(2, 5, 0, gAppId, 0, "Darwin")</font></div>
<div><font face="Courier New, sans-serif" size="2">    end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    return gDetector;</font></div>
<div><font face="Courier New, sans-serif" size="2">end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">function DetectorValidator()</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    -- no logic here since validator is not called when traffic is HTTP.</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">    local context = {}</font></div>
<div><font face="Courier New, sans-serif" size="2">    return clientFail(context)</font></div>
<div><font face="Courier New, sans-serif" size="2">end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font face="Courier New, sans-serif" size="2">function DetectorFini()</font></div>
<div><font face="Courier New, sans-serif" size="2">end</font></div>
<div><font face="Courier New, sans-serif" size="2"><br>
</font></div>
<div><font size="3">Thanks.</font></div>
<div><font size="3">YM</font></div>
</div>
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">------------------------------------------------------------------------------</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">One
 dashboard for servers and applications across Physical-Virtual-Cloud<span class="ecxApple-converted-space"> </span></span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">Widest
 out-of-the-box monitoring support with 50+ applications</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">Performance
 metrics, stats and reports that give you Actionable Insights</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">Deep
 dive visibility with transaction tracing using APM Insight.</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<a href="http://ad.doubleclick.net/ddm/clk/290420510%3b117567292%3by_______________________________________________" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;" target="_blank">http://ad.doubleclick.net/ddm/clk/290420510;117567292;y_______________________________________________</a><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">Snort-openappid
 mailing list</span><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<a href="mailto:Snort-openappid@lists.sourceforge.net" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">Snort-openappid@lists.sourceforge.net</a><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<a href="https://lists.sourceforge.net/lists/listinfo/snort-openappid" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-openappid</a><br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<br style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;">
<span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;">Please
 visit<span class="ecxApple-converted-space"> </span></span><a href="http://blog.snort.org/" style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;" target="_blank">http://blog.snort.org</a><span style="font-family:Calibri;font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline !important;"><span class="ecxApple-converted-space"> </span>to
 stay current on all the latest Snort news!</span></div>
</blockquote>
</div>
<br>
</div>
</div>


<br>------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y<br>_______________________________________________
Snort-openappid mailing list
Snort-openappid@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/snort-openappid

Please visit http://blog.snort.org to stay current on all the latest Snort news!</div></div>                                          </div></body>
</html>