电脑技术学习

Windows:广告是怎样产生的?

dn001
  一、不请自来的广告

  采用ADSL上网而又使用Windows XP的用户可能都遇到过这样的问题:正在上网,屏幕上忽然弹出一个消息框,内容则大多是广告性质的。这些不请自来的广告常常让人感到疑惑:它是怎么跑到我的电脑上来的?不会是被黑客瞄上了吧!其实,这都是Windows正常的消息服务,只不过内容有时不正常罢了。  

  在Windows 98中,消息服务是通过Winpopup.exe这个程序来进行的。在Windows 98下还没有“服务”这个概念,消息的收发要依赖于Winpopup.exe程序。如果Winpopup.exe没有运行,就无法收发消息了。在基于Windows 98的局域网中,Winpopup.exe是内网通信必不可少的程序,体积小巧,占用极少资源,不需要服务器端支持,又是系统自带的,比起早期NetWare网中的“send to”方便多了。所以在家庭式的Windows 98对等局域网中,Winpopup.exe几乎都是放在启动组中,便于网络邻居随时联系。在Windows 2000以后的版本中,Winpopup.exe不再存在,取而代之的是信使服务,正式以服务的形式存在。  

  二、细说前因后果

  很多从Windows 98升级到Windows 2000的用户常抱怨系统变笨了,不能发消息了。其实,只是没有了图形界面的消息发送程序而已(真不知到底是前进还是倒退了),已经转到命令行下,统一归Net这一简单而又庞大的提示行命令管辖。Net命令的参数很多,这里只说一下用来发送消息的参数Send的用法:  

  net send 用户/计算机/工作组名 消息  

  注意,消息内容不用加引号。例如,要给同一工作组内的“Work01”发送消息“你好!”,命令如下:  

  net send work01 你好!  

  对方屏幕上就会弹出消息框,显示从某某到某某的消息。  

  如果对方的系统是Windows 98并且已运行Winpopup,在Winpopup中也能收到,没有运行Winpopup则收不到消息。  

  在Windows XP中,“信使服务”已成了默认启动的服务,这也就是为什么我们会收到莫名其妙广告的原因。“信使服务”用来传输客户端和服务器之间的Net Send和Alerter(报警器)服务消息,在服务列表中名称为“Messenger”。  

  说到这里,大家已经知道怎么去掉(拒收)那些讨厌的广告了吧――在“管理工具”中,双击“服务”,选“Messenger”,然后在“操作”菜单中选“属性”,进入“常规”选项卡,单击[停止]按钮,再将“启动类型”改为“手动”或“已禁用”就行了。不过这样一来,我们也就不能接收到局域网内正常的消息了,怎么办呢?可以随时通过手动方式打开和关闭这项服务。再回到命令行方式下吧:  

  net start messenger  

  这个命令就启动了消息服务;  

  net stop messenger  

  这个命令则能随时停止消息服务。  

  这些命令也都能在“运行”对话框中进行。  

  三、广告是怎样产生的

  最后再解释一下大家的疑问:既然是用于局域网中收发消息,为什么会收到来自外网的广告呢?这是因为,采用ADSL方式上网的电脑,无论是固定IP地址还是自动获取IP地址,都有相应的网关和子网掩码,它们和IP地址一起决定了你在电信系统这个“大局域网”内属于哪个子网,同一网段内的其他用户都成为了你的“网上邻居”(有时你在“网上邻居”中会看到很多陌生的工作组和陌生的电脑,就是这个原因)。比如,某次上网自动获取的IP地址是219.154.38.10,网关是219.154.38.254,子网掩码是255.255.255.128,它就与另一IP地址是219.154.38.15、网关和子网掩码相同的电脑属于同一子网而相互可见。而当使用net send命令发送消息时,这个消息将发送给这个“大局域网”内的每台电脑,不过他们能否收到取决于消息服务或winpopup是否打开。如果是在局域网内通过代理方式上网,用的是内部局域网IP,则不会收到来自外网的消息。  

  在我们收到的广告消息中,大都是分成多行的较长的广告。那么,在命令行中如何分行呢(一敲回车就结束命令了)?这里有个窍门:在每一行结束时按下“Ctrl+T”组合键,就能实现命令行下消息的换行了。  

  如果借助其他软件,消息的编辑更加简单,还能突破“大局域网”这个限制,可以给互联网上任一主机(指有真实IP地址的,采用代理等方式上网的除外)发送消息――广告就是这样产生的。

标签: