对网络连接来说, 拔网线, 禁用网络连接, 直接关闭客户端程序,这3者有什么不同吗?

jingtan 2009-01-02 11:46:12
服务端使用完成例程异步方式来接收数据.

ret = WSARecv(socket, &recvWsaBuf, 1, &recvBytes, &flag, &recvOverLapped, recvResult);

如果直接关闭客户端, recvResult函数会被执行.
如果禁用网络连接, 则recvResult函数不会被执行.
真是奇怪了
...全文
528 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hityct1 2009-01-03
  • 打赏
  • 举报
回复
mark
blackcat242 2009-01-02
  • 打赏
  • 举报
回复
关闭客户端,只是断开链接
但是如果禁用网络和把网线,协议栈都没了
hackwolfoscar 2009-01-02
  • 打赏
  • 举报
回复
网络都断了,能执行才怪

这个函数又不取决于客户端.
Conry 2009-01-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jingtan 的回复:]
引用 5 楼 keven1868 的回复:
直接关闭客户端时,由该客户端所创建的socket连接,打开的文件等会被操作系统关闭,这属于socket连接的一端关闭,由此你在服务端的接收过程会得到消息通知此连接已关闭
而拔掉网线,禁用网络连接属于socket连接中间环节断开,服务端接收过程无法立即得到通知此连接已中断

问题是服务端会一直在那里等着, 客户端重新启用网络连接后也不会返回, 这个时候客户端早已经断开了.
[/Quote]
所以服务程序需要一个机制定时监测客户端是否存在,也就是大部分服务器使用的“心跳包”机制
Conry 2009-01-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jingtan 的回复:]
引用 5 楼 keven1868 的回复:
直接关闭客户端时,由该客户端所创建的socket连接,打开的文件等会被操作系统关闭,这属于socket连接的一端关闭,由此你在服务端的接收过程会得到消息通知此连接已关闭
而拔掉网线,禁用网络连接属于socket连接中间环节断开,服务端接收过程无法立即得到通知此连接已中断

问题是服务端会一直在那里等着, 客户端重新启用网络连接后也不会返回, 这个时候客户端早已经断开了.
[/Quote]
所以服务程序需要一个机制定时监测客户端是否存在,也就是大部分服务器使用的“心跳包”机制
Cpp权哥 2009-01-02
  • 打赏
  • 举报
回复
你可以通过设置超时时间来处理无限等待的问题。
Cpp权哥 2009-01-02
  • 打赏
  • 举报
回复
关闭客户端应用程序时,客户端进程结束,操作系统会做清理工作,对客户端进程占用的所有资源进行关闭和释放,对网络资源的关闭操作会通知到跟它的连接的对方服务器程序。直接禁用网络,在驱动程序一层停用了网络设备,操作系统会在此后禁止所有对这一设备的访问,对方服务器不会收到通知,但是在后续对客户端网络资源的访问中会失败。拔掉网线则是硬件线路故障,在硬件层停用了网络,操作系统只能通过硬件中断信号知道这一事件,对网络的访问将都会失败。
jingtan 2009-01-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 keven1868 的回复:]
直接关闭客户端时,由该客户端所创建的socket连接,打开的文件等会被操作系统关闭,这属于socket连接的一端关闭,由此你在服务端的接收过程会得到消息通知此连接已关闭
而拔掉网线,禁用网络连接属于socket连接中间环节断开,服务端接收过程无法立即得到通知此连接已中断
[/Quote]
问题是服务端会一直在那里等着, 客户端重新启用网络连接后也不会返回, 这个时候客户端早已经断开了.
keven1868 2009-01-02
  • 打赏
  • 举报
回复
直接关闭客户端时,由该客户端所创建的socket连接,打开的文件等会被操作系统关闭,这属于socket连接的一端关闭,由此你在服务端的接收过程会得到消息通知此连接已关闭
而拔掉网线,禁用网络连接属于socket连接中间环节断开,服务端接收过程无法立即得到通知此连接已中断
一名程序员 2009-01-02
  • 打赏
  • 举报
回复
这三种方式在网络协议的不同层禁用了网络功能。但是禁用后,其下的层的网络链接可能仍然存在。所以那个WSARecv还在继续接收之中。并不奇怪。
jingtan 2009-01-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blackcat242 的回复:]
关闭客户端,只是断开链接
但是如果禁用网络和把网线,协议栈都没了
[/Quote]
我禁止的是客户端机子上的网络连接. WSARecv是在服务端上执行的..
获取华为光猫超级账户和密码 华为 HG8321R 设备型号: WO-27s 硬件版本: 373.A 软件版本: V3R015C10S150 上面的光猫可以成功利用文中提到的工具获取超级账户和密码。 开启Telnet的工具版本为V300R13C10SPC800。 已知网络上最新版可能是V300R15C10SPC122,但应该没有免费下载。 联通或电信会把华为光猫更新成定制的系统, 恐怕一年得有2次更新,随着系统的升级,限制也是越来越多, 获取超级账户和密码的方法也只能随着限制的增加而不断改变。 新版本的光猫系统里单独有个“维护”页面,页面里只有一个按钮“维护结束”, 点击这个按钮管理员密码就会变化成另一个随机值。 运营商这是明摆着要把持权限一直不放。 远程控制的通信应该是相隔12小时就会有信息交互一次, 也就是说只要取消了远端的控制,12小时候后运营商那里应该就知道了。 不过没关系,只要确定自己暂时不需要运营商的维护,那就可以关闭TR069。 如果网络是每年更换一次合同,也许网速会有提升,那么恐怕那段时间得被迫再次受控,极有可能顺便就又把密码更新了。 能掌握超级账户和密码的话,优点自然很多,至少光猫更像是自己的了,控制更随意。 获取账户和密码的过程,网络上也很容易找到。 重点是涉及到2个华为外泄的工具。 一个是更新光猫开启Telnet配置的EXE工具,华为的英文翻译比较恶心,连光猫配置页面里也是到处都是 “使能”, 这个工具就被叫做“使能”工具,其实就是 “Enable”。 另外一个就是光猫配置文件的解密工具,其实加密就是用第三方工具做的,解密仍旧可以用第三方工具解密, 光猫内已经限制不能用脚本了,更别提第三方工具了,如果自己有环境的话可以不需要华为编译的EXE工具。 当然如果用windows下的EXE解密工具,自然对普通用户来说操作更方便,更不用再去弄Unix或Linix环境。 大体流程 1. 运行华为外泄的开启光猫Telnet工具,即所谓的使能工具。 要点是,光猫掉光纤和电话线。 1号网线接口 接网线连接PC。最好重启光猫一次。稍等。启动软件能检测到网卡后,执行。 光猫无红灯,绿灯都稳定不闪烁则表示完成。停止。退出软件。重启光猫。 2. 准备TFTP服务环境,用于回传光猫的配置文件。 方法多种,可以使用Win7自带的TFTP,也可以使用 任何可用的 第三方软件。 第三方软件设置简易很多,设置目录,开启服务即可。 3. 光猫系统上已经开启了Telnet。用户名root,密码admin。 PC系统无需安装Telnet客户端,直接使用putty单独的telnet客户端即可。 主要命令只有一句,其余只是登陆填写用户名和密码。 backup cfg by tftp svrip 192.168.2.2 remotefile hw_ctree.xml backup cfg 是光猫系统里禁用shell之后保留下来的并不算多的命令中的一个。 192.168.2.2 是TFTP服务器的地址,并不一定适合所有人,需要根据自身情况去修改,其他都不变。 4. 利用配置文件解密工具来解密配置文件。 工具的输入源是 加密的hw_ctree.xml。 工具的输出结果是个压缩包,名字可以这样 hw_ctree.xml.gz,如此之后压缩包内的解密文件名字就是hw_ctree.xml。 解密工具只是截取了.gz前面的文件名作为压缩包内的文件名。所以如果给出a.gz的话,那里面就是文件a了。 5. 浏览解密后的配置文件,查找超级账户和密码。 推荐软件EmEditor,自己去下载,或者使用其他任何文本编辑软件。 配置文件中,密码大致位置为1003行左右,可以通过搜索"http://"来快速定位。
什么是ARP欺骗? 从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。 第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。 近期,一种新型的“ ARP 欺骗”木马病毒正在校园网中扩散,严重影响了校园网的正常运行。感染此木马的计算机试图通过“ ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP欺骗木马的中毒现象表现为:使用校园网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果校园网是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。ARP欺骗木马十分猖狂,危害也特别大,各大学校园网、小区网、公司网和网吧等局域网都出现了不同程度的灾情,带来了网络大面积瘫痪的严重后果。ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。 如何检查和处理“ ARP 欺骗”木马的方法 1 .检查本机的“ ARP 欺骗”木马染毒进程 同时按住键盘上的“ CTRL ”和“ ALT ”键再按“ DEL ”键,选择“任务管理器”,点选“进程”标签。察看其中是否有一个名为“ MIR0.dat ”的进程。如果有,则说明已经中毒。右键点击此进程后选择“结束进程”。参见右图。 2 .检查网内感染“ ARP 欺骗”木马染毒的计算机 在“开始” - “程序” - “附件”菜单下调出“命令提示符”。输入并执行以下命令: ipconfig 记录网关 IP 地址,即“ Default Gateway ”对应的值,例如“ 59.66.36.1 ”。再输入并执行以下命令: arp –a 在“ Internet Address ”下找到上步记录的网关 IP 地址,记录其对应的物理地址,即“ Physical Address ”值,例如“ 00-01-e8-1f-35-54 ”。在网络正常时这就是网关的正确物理地址,在网络受“ ARP 欺骗”木马影响而不正常时,它就是木马所在计算机的网卡物理地址。 也可以扫描本子网内的全部 IP 地址,然后再查 ARP 表。如果有一个 IP 对应的物理地址与网关的相同,那么这个 IP 地址和物理地址就是中毒计算机的 IP 地址和网卡物理地址。 3 .设置 ARP 表避免“ ARP 欺骗”木马影响的方法 本方法可在一定程度上减轻中木马的其它计算机对本机的影响。用上边介绍的方法确定正确的网关 IP 地址和网关物理地址,然后在 “命令提示符”窗口中输入并执行以下命令: arp –s 网关 IP 网关物理地址 4.态ARP绑定网关 步骤一: 在能正常上网时,进入MS-DOS窗口,输入命令:arp -a,查看网关的IP对应的正确MAC地址, 并将其记录下来。 注意:如果已经不能上网,则先运行一次命令arp -d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话)。一旦能上网就立即将网络断掉(禁用网卡或网线),再运行arp -a。 步骤二: 如果计算机已经有网关的正确MAC地址,在不能上网只需手工将网关IP和正确的MAC地址绑定,即可确保计算机不再被欺骗攻击。 要想手工绑定,可在MS-DOS窗口下运行以下命令: arp -s 网关IP 网关MAC 例如:假设计算机所处网段的网关为192.168.1.1,本机地址为192.168.1.5,在计算机上运行arp -a后输出如下: Cocuments and Settings>arp -a Interface:192.168.1.5 --- 0x2 Internet Address Physical Address Type 192.168.1.1 00-01-02-03-04-05 dynamic 其中,00-01-02-03-04-05就是网关192.168.1.1对应的MAC地址,类型是动态(dynamic)的,因此是可被改变的。 被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC。如果希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找该攻击的机器做准备。 手工绑定的命令为: arp -s 192.168.1.1 00-01-02-03-04-05 绑定完,可再用arp -a查看arp缓存: Cocuments and Settings>arp -a Interface: 192.168.1.5 --- 0x2 Internet Address Physical Address Type 192.168.1.1 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。 但是,需要说明的是,手工绑定在计算机关机重启后就会失效,需要再次重新绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,把病毒杀掉,才算是真正解决问题。 5 .作批处理文件 在客户端做对网关的arp绑定,具体操作步骤如下: 步骤一: 查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。 比如:网关192.168.1.1 对应00-01-02-03-04-05。 步骤二: 编写一个批处理文件rarp.bat,内容如下: @echo off arp -d arp -s 192.168.1.1 00-01-02-03-04-05 保存为:rarp.bat。 步骤三: 运行批处理文件将这个批处理文件拖到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。 注意:以上配置需要在网络正常时进行 6.使用安全工具软件 及时下载Anti ARP Sniffer软件保护本地计算机正常运行。具体使用方法可以在网上搜索。 如果已有病毒计算机的MAC地址,可使用NBTSCAN等软件找出网段内与该MAC地址对应的IP,即感染病毒的计算机的IP地址,然后报告单位的网络中心对其进行查封。 或者利用单位提供的集中网络防病毒系统来统一查杀木马。另外还可以利用木马杀客等安全工具进行查杀。
首先,请用细针按住RG100A-AA机身背后的Reset键10秒钟以上,这么做是将其恢复出厂默认设定状态。 其次,请用网线将你的电脑网口和RG100A-AA的LAN1口连接,并将你的电脑的IP地址改为192.168.1.2~192.168.1.100之间的任何一个。 再次,请用浏览器访问http://192.168.1.1,登录用户名和密码是:telecomadmin和nE7jA%5m,登录成功后,请在浏览器地址栏里输入http://192.168.1.1/wancfg.cmd,将你看到的所有连接全部删除。完成后重启RG100A-AA,用前面给的用户名和密码再次登录http://192.168.1.1。现在你就可以像使用一个普通路由器那样的来设置了! 电信ADSL无线猫RG100A-AA破解 1、 WEB进入管理界面:用户名/密码 telecomadmin/nE7jA%5m 2、 另开页面: http://192.168.1.1/scsrvcntr.cmd?action=view 3、 在LAN侧将所有应用打开,即全部勾上 4、 要想彻底摆脱电信控制,你的网关你做主,那在插上电话线之前,需要使用超级用户登陆进去,进入到网络---〉远程管理界面,禁用TR069,或者将ACS URL改为非法地址,如:http://127.25.123.99:9878 做了上述配置,保存应用之后,这时候就能够放心大胆的插上电话线上网了,真正实现了家猫变野猫。 5、 如果某地被电信限制只能使用桥接,通过超级用户登陆之后,也可以修改为路由。 进入网络---〉宽带配置页面,如下: 路由配置,这是最关键的一步,只要把对应的VPI和VCI修改为当地上网的PVC号,将模式修改为Route,PPPoE拨号方式,输入你的拨号账号和密码,保存重启之后你就能实现多台电脑上网的梦想了(成都1/33)。 6、 对于喜欢使用电驴下载的,还可以在应用界面使能“UPNP”功能,这样使用电驴下载的时候默认就可以获取到HighID哦。 总的来说,上海贝尔的这款终端比较考验人的耐心,做点什么小配置都需要重启,每次重启都要等上好几分钟。 RG100A-AA配置界面入口 http://192.168.1.1/upnp.html upnp http://192.168.1.1/scdmz.html dmz http://192.168.1.1/scvrtsrv.cmd?action=view 端口映射 http://192.168.1.1/main_firewall.html 防火墙 http://192.168.1.1/tr69cfg.html 电信的远程控制 http://192.168.1.253/wancfg.cmd 进入设置路由 http://192.168.1.1/backupsettings.html 备份设置文件 http://192.168.1.1/updatesettings.html 上传配置文件 http://192.168.1.1/ippcfg.html 打印机设置 http://192.168.1.1/scsrvcntr.cmd?action=view 访问控制 http://192.168.1.1/ct_wlcfg.html 设置无线 http://192.168.1.1/getpppinfo.html 设置PPPoE的用户 http://192.168.1.1/pppoe.html http://192.168.1.1/wancfg.cmd http://192.168.1.1/wlcfg.html http://192.168.1.1/ct_tr69cfg.cgi TR-069客户端配置 http://192.168.1.1/upload.cgi http://192.168.1.1/twadslload.htm WEB升级界面 -------------------------------------------------------------------------------------------------------------------------------- ?破解电信送的上海贝尔RG100A-AA E8无线猫。已经成功组建WLAN网络! 前段时间,把家里用了4年的老猫拿到电信局换了一个上海贝尔RG100A-AA E8无线猫。 此猫为用户提供了1个电话线接口和4个10/100M自适应LAN口。支持MAC address filtering,支持SSID隐藏和多SSID功能。提供至少8条永久虚连接(PVC)提供内建防火墙(IP/Mac filtering/port forwarding/DMZ host/DoS)。提供内建PPPoE 拨号功能,支持远端管理、本地Web页面Firmware升级。它的最大传输距离达6.5 公里,背部为用户提供了内建无线AP,支持802.11b/g,速率可达54Mbps。支持64bit,128bi。贝尔RG100A-AA主芯片为最新的BCM6358,交换芯片为BCM5325,无线芯片为BCM4318,FLASH容量为16M,内存容量为32M DDR...... 稍微了解猫的人都知道,这样的硬件设计是极为强悍的。 回家后,发现无法拨号上网!汗,只有打电话到1000.说明情况后,电信的技术人员到家来了,然后看到他一顿设置猫的差数!汗。好复杂啊,根本看不懂的说,而且那个超级密码也没记住! 不管怎么说,可以上网了!到网上一查,嘿嘿,发现可以破解这个东西,实现其强大的功能,我的小8就可以无线上网了!嘿嘿,不用在享受那龟速的GPRS了!嘿嘿,省下买无线路由的钱了! 照着教程设置,我发现老是无法用路由连上网,郁闷了!搞了几天也没搞好!汗,莫非这个猫真的无法自动拨号联网? 今天上午,家里两台电脑终于被我占领了。没人上网!我便抱着必死的决心来设置猫了。如果还是不行,我就去淘个无线路由来! 一顿折腾后,居然连上网了。哈哈哈!废话说了一大堆。上教程: 1.登陆 http://192.168.1.1/ 输入用户名telecomadmin和密码nE7jA%5m 2.在浏览器地址栏里面继续输入:http://192.168.1.1/wancfg.cmd 3.把“广域网(WAN)设置”里面的配置全部删除。然后点“保存/重启”。(注意要把删除的选项打上勾之后再点删除!) 4.重复1--2,之后再点击添加,添加一个新的链接规则,VPI填:“0”,VCI填:“35”其他的都不要去动! 5.填好VPI,VCI后,再点下一步,选择“PPP over Ethernet (PPPoE)”,在“Port binding ”里面吧所有的勾都打上,作用是把所有端口都Binding!同样的,其他的选项都不要去动!之后再一路点下一步完成添加! 6.第一次添加不能输入宽带的用户名和密码。所以,添加好后需要再次点击一下第2步界面里面的“保存/重启”。 7.重启之后过2分钟,登录modem的界面,之后输入http://192.168.1.1/wancfg.cmd ,点击“编辑”,修改刚才添加的这个规则,这时你会发现可以填入上网用的宽带用户名和密码了。填好后再保存并重启就可以实现自动拨号的路由功能了。 8.再次登入管理界面,进入wlan设置,把SSID的名称设置好;同时“信道”也是要用手动选择一条不能用自动,这里我们选择“6”;其他不要改了。如果懂的话自己改吧! 9.打开http://192.168.1.1/wlsecurity.html 无线安全页面把无线加密去掉:网络认证方式:选择“开放” (这里要选择开放,不然等下由于单方面的加密了设备就无法互联了。)然后后面选择加密方式,WEP 加密 启用,密钥长度:我选择64,根据个人选择吧!。然后填写密码! 10.OK,重启,然后享受无线网络的畅快吧! 朋友们,记得帮顶哦!呵呵,帮忙加分哦!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧