未找到

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程三:没有SMTP服务器的情况下发送消息
by Harriet666 keys 分享 1493716753597
 
发送消息的最简单的方法是使用Smtp类的QuickSend方法(此方法是静态的,不需要你创建Smtp类的实例)。
 
即使没有SMTP服务器,QuickSend方法也可以发送电子邮件。该方法通过向网络设置中注册的DNS服务器进行查询,确定哪些服务器接收电子邮件的To / CC / BCC字段中指定的域的邮件,然后将电子邮件直接发送到收件人的邮件服务器。
C#:
MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body");           
VB.NET:
MailBee.SmtpMail.Smtp.QuickSend("jdoe@domain.com", "bill@domain.com", "Subject", "Message Body")
 
如果要手动指定DNX MX查找DNS服务器,可以编辑应用程序的app.config或web.config文件,并将MailBee.DnsMX.DnsServerCollection键放该位置。有关详细信息,请参阅DnsAutodetectOptions文档。
 
备用(和更高级)的方法是创建Smtp对象并手动指定DNS服务器的IP地址:
C#:
mailer.DnsServers.Add("127.0.0.1");                                                          
VB.NET:
mailer.DnsServers.Add("127.0.0.1")
 
要通过检查系统属性自动填充Dns服务器,请使用Autodetect方法(顺便说一下,QuickSend方法可以使用Autodetect来确定可用的DNS服务器列表):
C#:
mailer.DnsServers.Autodetect();                                                     
VB.NET:
mailer.DnsServers.Autodetect()
 
此外,你可以指定用于调整在系统中注册的DNS服务器的自动检测选项。有关详细信息,请参阅DnsAutodetectOptions文档。
 
注意:由于发送垃圾邮件的人经常使用直接发送操作,因此许多邮件服务不接受来自未知主机的邮件提交。建议仅从指定的MX、PTR和SPF记录的域执行直接发送操作。在这种情况下,接收邮件的主机将能够验证发件人的域名并接受邮件提交请求。
 

试用、下载、了解更多产品信息请点击"咨询在线客服"   
未发布 【示例教程】LEADTOOLS中如何使PACS服务器管理器支持H264
by Harriet666 keys 分享 1510818869321
LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。
 
上一篇文章讲述了如何使用H.264压缩数据创建DICOM文件(参见:如何使用H.264压缩视频创建DICOM文件)。创建文件是一个比较困难的点,但是如何利用并使这些文件存储在PACS服务器中也是很重要的。默认情况下,H.264压缩不能由LEADTOOLS PACS服务器管理器支持,但它很容易可以通过添加几行代码来实现。本篇文章将讲解如何将H.264支持添加到PACS服务器管理器。
 
为支持IODs我们需要更新开发包。这个项目可以在这里的SDK安装中找到:
\Examples\DotNet\PACSFramework\CS\Sample AddIns\Leadtools.AddIn.Store
 
我们需要更新StoreAddin.cs中的StoreAddin类。在前面的示例中,我使用的SOP类是视频摄影图像存储。所以需要寻找这样的代码,并添加DICOM UID类型MPEG-4 AVC/H.264 Blu Ray兼容和MPEG-4 AVC/H.264 High Profile Level 4.1.。最终变成这样:
[PresentationContext(DicomUidType.VideoPhotographicImageStorage, DicomUidType.ImplicitVRLittleEndian,
                                                         DicomUidType.JPEG2000,
                                                         DicomUidType.JPEG2000LosslessOnly,
                                                         DicomUidType.JPEGBaseline1,
                                                         DicomUidType.JPEGExtended2_4,
                                                         DicomUidType.ExplicitVRBigEndian,
                                                         DicomUidType.ExplicitVRLittleEndian,
                                                         DicomUidType.JPEGLosslessNonhier14,
                                                         DicomUidType.JPEGLosslessNonhier14B,
                                                         DicomUidType.Mpeg4AvcH264BdCompatibleHighProfileLevel_4_1,
                                                         DicomUidType.Mpeg4AvcH264HighProfileLevel4_1)]
如果你还想支持MPEG-2压缩,这也可以这样做:
[PresentationContext(DicomUidType.VideoPhotographicImageStorage, DicomUidType.ImplicitVRLittleEndian,
                                                         DicomUidType.JPEG2000,
                                                         DicomUidType.JPEG2000LosslessOnly,
                                                         DicomUidType.JPEGBaseline1,
                                                         DicomUidType.JPEGExtended2_4,
                                                         DicomUidType.ExplicitVRBigEndian,
                                                         DicomUidType.ExplicitVRLittleEndian,
                                                         DicomUidType.JPEGLosslessNonhier14,
                                                         DicomUidType.JPEGLosslessNonhier14B,
                                                         DicomUidType.Mpeg4AvcH264BdCompatibleHighProfileLevel_4_1,
                                                         DicomUidType.Mpeg4AvcH264HighProfileLevel4_1,
                                                         DicomUidType.MPEG2MainProfileHighLevel,
                                                         DicomUidType.MPEG2MainProfileMainLevel)]
代码修改完成后,进行编译。DLL将输出到PACSAddins目录:
\Bin\DotNet4\x64\PACSAddIns\
 
dll文件需要复制到插件目录的PACS服务器管理器。我的配置和运行的是64位服务器,文件夹位置:
C:\LEADTOOLS 19\Bin\Dotnet4\x64\L19_SERVER64\AddIns
 
您需要停止并重新启动服务器以便生效。
 
注:一定要停止所有已经运行的x64 PACS服务,然后重新启动。这是为了确保leadtools.dicom.server.exe完全删除,然后重新加载。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 【示例教程】如何使用LEADTOOLS图像标注控件在界面上对图像进行标注
by Harriet666 keys 分享 1511343290477
leadtools对图像和文档提供了多种类型的标注,允许用户通过图形界面或者后台代码进行插入。本教程将按照步骤分享如何使用图像标注控件在界面上对图像进行标注。
 
Leadtools 19总套包下载>>>

1.创建VS项目

在VS中创建winform项目,创建完成后需要确认使用的.NET版本以及编译的目标平台。本例采用.NET4.0和X86平台进行编译。

 
2.引用接口dll

需要引用的dll列表如下,可以在C:\LEADTOOLS 19\Bin\Dotnet4\Win32找到。
主界面Form1代码中添加引用
using System.Windows.Forms;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.WinForms;
using Leadtools.Annotations;

3.主界面添加相关控件

在设计界面添加一个MenuStrip菜单
添加按钮用以打开文件;
添加下拉框,包括2个选项:标注模式和浏览模式

 
4.后台代码编写

4.1控件初始化相关代码
添加相关对象
        RasterImageViewer viewer = new RasterImageViewer();
        RasterImage img;
        AnnAutomationManager annger;
        AnnAutomation automation;

添加initControl()方法,用于初始化图片浏览控件以及标注相关控件,在Form1()构造函数中调用该方法
private void initControl() {
            Support.SetLicense();
            viewer.Dock = DockStyle.Fill;
            panel1.Controls.Add(viewer);
            viewer.HorizontalAlignMode = RasterPaintAlignMode.Center;
            viewer.VerticalAlignMode = RasterPaintAlignMode.Center;
            loadImage("qwe.jpg");
            if (viewer.Image != null)
            {
                // create and setup the automation manager 
                annger = new AnnAutomationManager();

                // Instruct the manager to create the default (all) automation objects. 
                annger.CreateDefaultObjects();

                // create the toolbar and add it to the form 
                annger.CreateToolBar();
                Controls.Add(annger.ToolBar);

                // setup the automation (will create the container as well) 
                automation = new AnnAutomation(annger, viewer);

                // add an event handler for changes to the current designer 
                automation.CurrentDesignerChanged += new EventHandler(automation_CurrentDesignerChanged);

                // setup this automation as the active one 
                automation.Active = true;
            }
            toolStripComboBox1.SelectedIndex = 0;
        }
 
4.2添加加载图像方法
private void loadImage(string filename)
        {
            img = new RasterCodecs().Load(filename);
            viewer.Image = img;
        }
4.3添加automation_CurrentDesignerChanged方法
private void automation_CurrentDesignerChanged(object sender, EventArgs e)
        {
            AnnAutomation automation = sender as AnnAutomation;
            AnnButtonRunDesigner buttonRunDesigner = automation.CurrentDesigner as AnnButtonRunDesigner;
            if (buttonRunDesigner != null)
                buttonRunDesigner.Run += new EventHandler(buttonRunDesigner_Run);
        }
4.4添加buttonRunDesigner_Run方法
private void buttonRunDesigner_Run(object sender, AnnRunDesignerEventArgs e)
        {
            if (e.OperationStatus == AnnDesignerOperationStatus.End)
            {
                AnnButtonObject btn = e.Object as AnnButtonObject;
                MessageBox.Show(string.Format("Button with text = {0} was clicked!", btn.Text));
            }
        }
4.5添加打开文件按钮事件方法
private void loadImage(string filename)
        {
            img = new RasterCodecs().Load(filename);
            viewer.Image = img;
        }
4.6添加模式下拉框选项改变事件方法
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            annger.UserMode = (toolStripComboBox1.SelectedIndex == 0) ? AnnUserMode.Design : AnnUserMode.Run;
        }

5.编译运行

演示程序界面如下图所示
未发布 Visual Studio 2017 v15.5预览版的新特性先睹为快
by Harriet666 keys 分享 1508923045165
Microsoft延续了Visual Studio 2017快速迭代开发的步伐,最新发布了15.5预览版,这是VS2017这一广受欢迎的IDE自发布以来的第五次更新,该预览版的发布使用户可以先睹为快。

该预览版启用了一个称为“Stepping Back”的调试历史新特性。IntelliTrace会在整个断点的每一步上,自动对应用状态做快照,这将赋予开发人员浏览断点前后状态的能力,更易于观察在断点前后的运行效果。
 
Visual Studio 2017下载>>>

此外,Microsoft还进一步改进了基于C#和Visual Basic的解决方案的加载速度。据其宣称,所有解决方案应可在10秒内至少加载一半以上。相应地,C++开发人员应能看到IntelliTrace在执行常见命令时,性能得到了显著的提升,其中包括重命名(Rename)、更改签名(Change Signature)和找出所有引用(Find All References)等。

VS2017 15.4的IDE为C#、VB和Python开发人员提供了一种通过“Control键+点击”进入所点击项定义的功能。该功能现在也已经添加到C++的开发中。还改进了C++代码的生成,一旦受此影响的C++项目在15.5下重新编译,应该就能体验到此次更新的改进。

VS2017在安装程序上也做了一些改进,这可能会受到那些安装了多个版本VS2017的开发人员(例如在最新的VS2017旁安装了VS2017预览版)的欢迎。现在安装时会自动地创建Windows恢复点,并且每个已安装的VS2017拷贝会以不同的项列出在“添加&删除程序”(Add & Remove Programs)安装阶段的显示中。

和其它预览版一样,该预览版也不应安装在生产环境中。完整的发行说明已经给出,其中涵盖了15.5第一个预览版中包含的所有改进。
未发布 微软免费的开源代码编辑器Visual Studio Code 1.17新增多项功能
by Harriet666 keys 分享 1508224333784

微软在2017年9月发布的免费开源代码编辑器Visual Studio Code(v1.17)进行了一些重要的更新。支持将区域标记带入代码折叠,并提升内置终端的性能。

通过代码折叠,开发人员可以使用行号之间的折叠图标和一行代码的开始来隐藏源代码区域。区域标记允许您使用注释来精确指定可折叠块的开始和结束位置。目前已经为TypeScript、JavaScript、C和C ++、C#、F#、PowerShell和Visual Basic定义了标记。

1.17版本也是一款基于画布的渲染引擎,具有集成终端功能,可根据情况将渲染从5提升到45倍。微软表示:“这种改变减少了输入延迟、功耗,并显着提高了终端的帧速率。”集成终端可以节省开发人员的时间,不必切换窗口或更改现有终端状态,以便快速执行命令行任务。

Visual Studio Code现在有一个源代码管理提供程序,提供了多个可以由SCM提供程序提供的存储库的概述。例如,Git存储库可以与Microsoft Team Foundation Server工作区并排维护。用户可以利用Ctrl+单击或Shift单击功能来选择多个存储库,这些存储库显示为拆分视图。

对于Mac用户来说,Visual Studio Code1.17增加了在MacOS Touch Bar中显示操作的支持。可以在编辑器历史记录中导航并控制调试器。此外,扩展项可以用于通过touchBar菜单标识符向Touch Bar添加命令。同时也为MacOS Sierra添加了本地窗口选项卡的支持。

最后,Visual Studio Code现在为Java开发人员提供了新的在线文档。Java调试最近通过扩展添加到了Visual Code中。 

有关Visual Studio的更多信息,请参阅慧都控件网Visual Studio

未发布 备战2018!全球百家优质软件、控件厂商共创“折扣奇迹”
by Harriet666 keys 分享 1512367622376
慧都辞旧迎新,备战2018!现慧都科技联合全球百家优质软件、控件厂商共创“折扣奇迹”!界面控件DevExpress、文档工具Aspose、图表报表工具FastReport等优质厂商最低6折起!更多优惠等您来发现!
 
【活动时间】2017.12.5-2017.12.30
【活动内容】百家厂商6折起!
推荐厂商功能活动内容
DevExpress提供全球顶级.NET界面控件,中国独家代理全线产品单套6.7折,多套更优惠,查看详情>>>
Fastreport全线产品功能齐全、快速有效的报表解决方案在线订购年终回馈价6.5折!立即购买>>>
Aspose顶尖的文档处理工具Total版惊喜价6折!查看更多>>>
Kendo UI创建数据丰富的Web应用程序的最完整UI库  Telerik全线产品6.5折优惠,查看详情>>>
BCGSoft全球最优秀的MFC界面类库全线产品6.5折全年最低,立即查看>>>
Dynamsoft版本控制和事件跟踪软件应用程序领域的领先开发商全线产品6.7折终极回馈,立即查看>>>
VectorDraw优秀的矢量绘图控件,支持2D和3D图形全线产品6.6折冰点价!点击购买>>>
点击查看更多厂商

郑重承诺:慧都所售产品均为厂商授权的正版产品,请完全放心!

*想要了解更多优惠信息?请咨询慧都客服>>>

*本活动最终解释权归慧都科技所有
咨询热线: 400-700-1020(免费)  023-66090381

未发布 文档管理控件Xshell 发布v6 Beta版本,引入会话管理器面板丨附下载
by Harriet666 keys 分享 1510818449798
Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、TELNET、RLOGIN和SERIAL。它提供业界领先无法替代的性能和特性集。它有许多对企业用户有用的特性,包括:分页式环境、动态端口转发、自定义键映射、用户定义按钮、VB脚本以及显示2字节字符和支持国际语言的UNICODE终端。
 
Xshell v6 Beta最新版下载>>>
 
Xshell v6 Beta更新内容:

会话管理器

在版本6中,我们对Xshell的界面做了一些直观的改变。最大的改变是引入了会话管理器面板,用户可以轻松创建、编辑和删除会话文件。现在,会话管理的所有方面以及同时启动多个会话的功能都可以通过会话管理器在Xshell中访问。
 

可停靠的UI

会话管理器窗口、编辑窗口和其他窗扣可以停靠在Xshell的主窗口中。这为Xshell的可定制配置提供了更多的功能。用户可以简单地拖放窗口。
 

支持SSH PKCS#11

PKCS#11协议使用户能够使用硬件令牌(HSM)安全地存储私钥,以提高安全性。
 

主题选择

您现在可以根据需要选择Xshell的颜色和整体主题。
 

编辑窗口

以前,Xshell只能使用编辑栏向终端发送一行准备好的字符。Xshell 6引入了组合窗口,使用户能够准备多行脚本或字符串,并同时将其传送到当前会话或多个会话中。
 

突出显示

Xshell 6允许用户使用自定义的文本和背景颜色来区分终端的字符串输出。用户可以轻松地管理他们想要突出显示的关键字,也可以创建分组,以便在特定情况下使用设置的关键字。
 

ASCII和非ASCII(中文,韩文等)字符的独立字体集成

通常,在某些窗口中,即使使用相同的字体,ASCII字符和非ASCII字符的大小也可能不同。在Xshell 6中,用户可以为不同的语言指定不同的字体,从而获得更加一致和稳定的终端输出。
 

在网上搜索所选文本

任何在Xshell 6终端中选择的字符串都可以通过用户定义的搜索引擎立即在网上搜索。
 

各种铃声/闹铃选项

当监视远程服务器时,用户设置警报以通知他们任何改变、错误等。仅使用基于字符串的警报可能不足以吸引用户。Xshell 6的铃声选项提供了各种声音和屏幕效果,以确保用户可以及时得到提醒。
 

稳定性和性能增强工具

我们增强了跟踪消息的功能,并添加了更多的日志记录选项以便用户可以更高效地识别和诊断连接问题。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 电子邮件.NET控件MailBee.NET Objects v11.1发布丨附下载
by Harriet666 keys 分享 1497431589248
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 

MailBee.NET Objects v11.1最新版下载>>>


v11.1更新内容:

  • 使用DNS RBL执行垃圾邮件过滤的新RblFilter类。
  • 更好地支持.NET Core和Xamarin中的证书。现在可以在SSL/TLS连接和DKIM中使用客户端证书。
  • Imap.SetSeenForEntireMessages默认为false。这意味着MailBee在下载整个邮件时不会设置SEEN标志,除非你更改此属性值。
  • 新的Global.DnsServers属性会覆盖当前系统分配的DNS服务器的默认列表。如果当前平台不支持DNS服务器自动检测(例如Xamarin),该功能则非常有用。
  • 新的TimeStamp.IP属性,显示邮件的IP地址来源。
  • 改进了Outlook .MSG文件中内联图像的自动检测功能。
  • bug修复。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

 
未发布 教你防范勒索软件:加强网络环境的6条建议
by Harriet666 keys 分享 1496220831242

今年5月的WannaCry(勒索软件)已经让大家尝尽苦头也让网络安全系统管理员的颜面尽扫。目前来说,安全专家们仍然无法预料WannaCry(勒索软件)将会出现何种变种。对于拥有专门的安全专家的大公司来说,网络安全最起码还有个基本的保障,但对个人用户来说,就只能靠自己来进行防护了。

在这里为大家提供6条加强你的网络环境的建议,这6条建议对组织和个人用户来说,都非常有用,且易于操作。

一、使用LAPS保护你的本地管理员帐户

密码重用的常见原因是Windows工作站和服务器上的本地管理员帐户,这些密码通常通过组策略设置为公用值,或者在构建系统映像时设置为标准值。因此,在一台机器上发现本地管理员密码的攻击者就可以利用这些值访问网络上的所有计算机。

在2015年年中,微软发布了一个解决这个该问题的工具,即本地管理员密码解决方案(LAPS)。此方案是将本地管理员密码存储在LDAP上,作为计算机账户的一个机密属性,配合GPO,实现自动定期修改密码、设置密码长度、强度等,更重要是该方案可以将该密码作为计算机帐户属性存储在Active Directory中。该属性“ms-Mcs-AdmPwd”可以通过ACL锁定,以确保只有经过批准的用户,如控制台和系统管理员可以查看密码。 LAPS还包括一个PowerShell模块和一个后台客户端,LAPS UI,以简化管理和检索过程。


可以提供Microsoft LAPS UI Thick Client来支持可能需要访问本地管理员帐户的人员

LAPS实现起来非常快速简单,只需要要求系统管理员创建一个定义密码策略和本地帐户名称的GPO来管理,可以直接将单个文件AdmPwd.dll添加到Windows上。

本地管理员密码解决方案允许系统管理员定义符合其公司策略的密码
二、查看当前账户是否具备管理员权限

攻击者对具有漏洞的账户进行控制一样可以获得该设备的管理权限,比如用户有时会为了某种访问的需要,进行一些临时访问,但在访问完毕后,用户有时会忘了对这些访问进行删除或监控,以至于被黑客利用。根据我们的经验,很少有用户会把这些临时访问权限进行删除。

敏感帐户,如具有管理员权限的帐户应与普通账户,如员工的账户在查看电子邮件和浏览网页时进行帐户区分。如果用户帐户被恶意软件或网络钓鱼进行了攻击,或者在密码已被泄密的情况下,帐户区分将有助于防止对管理员的权限造成进一步损坏。

具有域管理员或企业管理员资格的帐户应受到高度限制,比如只能用于登录域控制器,具有这些权限的帐户不应再在其他系统上进行登录了。在此,我们建议大家可以基于不同的管理功能来为每个账户设置不同的权限的管理账户,比如 “工作站管理”和“服务器管理”组,这样每个管理员就不具有访问整个域的权限了,这将有助于对整个域的权限保护。

三、简化你的补丁管理

许多攻击包括WannaCry的基本攻击机制,都是针对未修补的系统。所以,不管你的网络是否对外开放,都应该定期更新操作系统和应用程序。虽然这个建议属于老生常谈,但从另一个侧面也说明了该建议的重要性。许多攻击就是利用未修复的漏洞和未更新的系统来大做文章。

对于Windows系统来说,利用Windows Server进行更新服务简单而高效。利用WSUS部署更新程序时,WSUS易于设置,可以设置为自动或手动方式。而利用第三方软件来管理更新就有点不靠谱了,比如一些商业插件就允许WSUS从其他供应商那里修补软件。还有一些比较小众的工具,像Ninite这样的第三方更新工具,既不是自动配置的,也不是免费使用的,但它允许用户从其列表中选择支持的应用程序和运行没有完全选定的应用程序。 Flexera的企业软件检查器和Microsoft的系统中心配置管理器(SCCM)等工具也可以帮助管理第三方应用程序的修补。


Windows Server Update Services向导允许管理员选择要管理的更新类型

使用WSUS,管理员可以自动批准补丁到质量检查环境,或手动批准并分配它们
相关的第三方更新工具下载资源:
https://technet.microsoft.com/en-us/windowsserver/bb332157.aspx
https://technet.microsoft.com/en-us/library/hh852344(v=ws.11).aspx
https://www.flexerasoftware.com/enterprise/products/software-vulnerability-management/corporate-software-inspector/
https://ninite.com/pro
https://www.microsoft.com/en-us/cloud-platform/system-center-configuration-manager
 
四、审核空白和默认密码

Verizon发布的《2016年数据泄露调查报告》显示“63%的已确认的数据泄露事件均涉及到密码口令(password)的丢失、密码口令安全性过低或默认密码未

更改”,所以这个建议是非常重要的。当用户在首次使用设备时,应该先对默认的出厂密码进行修改,如果没有设置密码的要先设置密码,但往往人们会忽

略这些关键的保护手段。攻击者就是利用这些疏忽来进行攻击的,因为一般的出厂默认密码都可以在网络上查到。攻击者可以利用网络设备,如交换机和接

入点上的默认密码来重定向流量,执行中间人攻击,或对网络基础设施执行拒绝服务攻击。

更糟糕的是,内部系统所利用的Web控制台在包含敏感业务数据或系统配置的应用程序中通常使用的都是默认密码。攻击者利用网络钓鱼和常见的恶意软

件的攻击向量就可以绕过安全防护,并且有时候真正的威胁是来自内部人员的恶意行为,所以借着 “内部”这个借口来放松对密码的管理,这个观念是非

常错误的。正确的做法应该是,审核所有登录密码,并进行必要的修改和设置。现在,许多设备和服务都支持双因素身份验证, 建议大家尽量开启。


只是用Google搜索出来的一些默认密码列表 
五、禁用LLMNR和NetBIOS名称解析

链路本地组播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)都可以导致在启用时快速对域名进行攻击。这些协议最常用在初始DNS查找失败时查找所请求的主机,并且会在默认情况下启用。在大多数网络中,由于DNS的存在,所以LLMNR和NetBIOS名称解析根本就没有必要再用了。当对无法找到的主机发出请求时,例如尝试访问 dc-01的用户打算输入 dc01,LLMNR和NBT-NS就会发送广播,寻找该主机。这时攻击者就会通过侦听LLMNR和NetBIOS广播,伪装成用户(客户端)要访问的目标设备,从而让用户乖乖交出相应的登陆凭证。在接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发到执行身份验证过程的流氓服务(如SMB TCP:137)。 在身份验证过程中,用户会向流氓服务器发送用于身份认证的NTLMv2哈希值,这个哈希值将被保存到磁盘中,之后就可以使用像Hashcat或John Ripper(TJR)这样的工具在线下破解,或直接用于 pass-the-hash攻击。

攻击者中断了一个LLMNR请求,并捕获了user01的密码哈希值

由于这些服务通常不是必需的,因此最简单的措施是完全禁用它们。大家可以顺着计算机配置 – >策略 – >管理模板 – >网络 – > DNS客户端 – >关闭组播名称解析来修改组策略,禁用LLMNR。

启用“关闭组播名称解析”的组策略选项禁用LLMNR

禁用NetBIOS名称解析并不是一件简单的事情,因为我们必须在每个网络适配器中手动禁用“启用TCP / IP NetBIOS”选项,或者运行包含以下wmic命令的脚本:

wico nicconfig其中TcpipNetbiosOptions = 0调用SetTcpipNetbios 2
wmic nicconfig其中TcpipNetbiosOptions = 1调用SetTcpipNetbios 2
不过要注意的是,虽然这些服务通常不是必需的,但一些过去的老软件仍然可以依靠NetBIOS名称解析来正常运行。在运行GPO之前,请务必测试以下禁用这些服务会对你的运行环境有哪些影响。

六、及时了解你的网络设备是否被攻击

如果你登陆过https://www.shodan.io这个网站,你一定会被其中所曝光的敏感漏洞和服务而震惊。与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“...

Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。

Shodan真正值得注意的能力就是能找到几乎所有和互联网相关联的东西。而Shodan真正的可怕之处就是这些设备几乎都没有安装安全防御措施,其可以随意进入。

所以如果没有必要就不要把你的设备连接到互联网,不过要知道网络上有哪些型号的设备已经被攻击了,建议大家尝试使用端口扫描之王——nmap进行扫描,端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况。比如,像“nmap -sV -Pn -top-ports 10000 1.2.3.4/24”这样的简单扫描可以让我们快速了解攻击者可能看到的内容,利用Shodan和Censys.io这样的工具就可以做到自动搜索这些内容。

Shodan提供了有关公共服务和端口的大量信息

你知道你设备在网络上的运行状态吗?例如,你是否运行了IPv6,更重要的是,该运行状态是你打开的还是黑客打开的? SMBv1是否在你的环境中启用了一个设备?当你对这些运行情况有一个清晰地了解之后,请考虑一下你是否有必要禁用这些监控服务。

阅读原文>>>

未发布 MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件
by Harriet666 keys 分享 1494839413968
MailBee.NET Objects介绍和试用点击查看>>>
 
为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object。首先,开发人员应该按照【MailBee.NET Objects发送电子邮件(SMTP)教程一】中所述指定SMTP对象的所有必要属性。
 
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
 
SMTP.BodyHtmlText属性允许开发人员直接分配邮件正文,如下所示:
C#:
oMailer.BodyHtmlText = @"
Test HTML message.



        
       


        This is a test HTML mes-sage.
       


       



        www.afterlogic.com";     
VB.NET:
oMailer.BodyHtmlText = "
Test HTML message.


" & vbCrLf & _
        "" & vbCrLf & _
        "

" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "

" & vbCrLf & _
        "


" & vbCrLf & _
        "www.afterlogic.com"
 
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html);  
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html)
 
或者
C#:
oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html);     
VB.NET:
oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html)

否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm ", 
                MessageBodyType.Html,
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles|
                ImportBodyOptions.ImportRelatedFilesFromUris);       
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm ", _
                MessageBodyType.Html, _
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _
                ImportBodyOptions.ImportRelatedFilesFromUris)
 
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
 
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using System.Text;
using MailBee;
using MailBee.SmtpMail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Smtp oMailer = new Smtp();
            oMailer.To.AddFromString("Bill Smith ");
            oMailer.From.AsString = "John Doe (Company Info)";
            oMailer.Subject = "Test web page";
            oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris);
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpMessageSizeOutOfRangeException e)
            {
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).");
            }
        }
    }
}
VB.NET:
Imports System
Imports System.Text
Imports MailBee
Imports MailBee.SmtpMail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As Smtp =  New Smtp() 
 
            oMailer.To.AddFromString("Bill Smith ")
 
            oMailer.From.AsString = "John Doe (Company Info)"
 
            oMailer.Subject = "Test web page"
 
            oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris)
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpMessageSizeOutOfRangeException
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA