使用 c# 和 symantec 扫描引擎进行病毒扫描

Posted

技术标签:

【中文标题】使用 c# 和 symantec 扫描引擎进行病毒扫描【英文标题】:virus scanning with c# and symantec scan engine 【发布时间】:2010-10-11 15:59:22 【问题描述】:

我们有一个多年前编写的 c dll,用于调用 symantec 的病毒扫描程序,运营商扫描。好吧,它不能在 Windows 64 上运行,我必须启动并运行一个新版本。我在这里找到了一些代码 - http://vaibhavkulkarni.wordpress.com/2007/11/19/a-icap-client-code-in-c-to-virus-scan-a-file-using-symantec-scan-server 但由于某种原因,当我运行它时,我得到异常“已建立的连接被主机中的软件中止”。我已经禁用了我的防病毒软件、Windows Defender 和 Windows 防火墙。我没有其他可以想到的禁用功能,因此我不确定导致问题的原因。我在第二次致电soc.Send(System.Text.Encoding.ASCII.GetBytes(cmd)); 时收到错误消息有人知道可能是什么原因造成的吗?谢谢!

【问题讨论】:

【参考方案1】:

如果服务器是 Symantec Scan Engine,那么它们有自己的 .net api。不要使用自定义,尝试原创,效果很好。

【讨论】:

我确实尝试过使用他们的 sdk,但他们的代码不起作用。我在他们的论坛上发帖,到目前为止还没有收到任何回复。 - symantec.com/connect/forums/… @geoff swartz 使用 Wireshark 并嗅探正在发送/接收的数据。如果您购买了扫描引擎(好吧,我认为您购买了 :))您可以写信支持,但尽量提供信息 我明天去查一下wireshark。我们大约在 9 年前购买了carrierscan,并且刚刚通过 v5.1 对其进行了更新。但看起来 5.1 和 5.2 的 api 是相同的。我下载了 5.2 的试用版只是为了测试看看是否有区别,但它是相同的错误消息。谢谢。 我已经安装了wireshark,开始捕获我的界面并运行代码。但我不知道在wireshark 提供的代码列表中寻找什么。我已经卸载了我的防病毒软件,所以我的系统上没有,我的 Windows 防火墙已关闭并在服务中禁用。但它仍然显示“无法从传输连接读取数据:已建立的连接被主机中的软件中止。”当我收到此错误时,我正在运行 symantec 示例代码,并且我已将扫描引擎配置为使用 NATIVE 协议。 阅读如何使用wireshark。过滤。您正在使用的端口。并尝试。分析你所看到的。好吧,如果一切都不好尝试。写信支持

以上是关于使用 c# 和 symantec 扫描引擎进行病毒扫描的主要内容,如果未能解决你的问题,请参考以下文章

Symantec Endpoint Protection 的未决分析是啥意思

调用 McAfee 病毒扫描引擎

Symantec ScanEngine API 关于 StreamScanRequest 的说明

扫描上传的文件 C# ASP.net

怎么清除wannacry勒索病毒

如何在 asp.net c# 中检查病毒扫描的结果?