Windows下如何判断计算机能否连接互联网?

c1997sdn 2013-01-19 01:33:32
最近在做一个Windows下的网络项目,需要
1、判断计算机能否连接互联网
2、检测计算机是否曾经连接过互联网,
3、找出该计算机上曾经连接过互联网的软件

不知道实现,特来求教大家。
...全文
910 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
大雨仔 2013-02-17
  • 打赏
  • 举报
回复
题目意思不明白,第一个,ping下不就知道了, 第二个,曾经连接过什么意思,nnd,computer重启后还有曾经么 第三个同上 qq:373824773 q聊
cyfage 2013-02-17
  • 打赏
  • 举报
回复
1、判断计算机能否连接互联网 除了主动连接外网的稳定服务器进行验证,似乎没有别的可靠和一劳永逸的方法。 2、检测计算机是否曾经连接过互联网 问题描述不清楚 什么叫连接过互联网?指的仅仅是浏览器访问过互联网网页,还是包括所有的程序是否进行过和外网的SOCKET连接? 3、找出该计算机上曾经连接过互联网的软件 问题描述也不是很清楚,但大概明白你的意思 以我个人的见识,要真正做到这一条,不替换本机系统中的SOCKET库进行篡改是不可能做到的吧。
Kaile 2013-02-02
  • 打赏
  • 举报
回复
一看就知道是监控项目,金盾工程之类的 绿坝什么下场,不知道吗
oyljerry 2013-02-02
  • 打赏
  • 举报
回复
引用 11 楼 c1997sdn 的回复:
嗅探不是解决办法啊, 因为主要目的是检测计算机以前是否上过网, 而不是现在是否在上网 引用 9 楼 vcorange 的回复:要是自己不发报 那只能检测其他进程的网络连接,判断接收的的ip src 是不是一个来自公网的地址了,在套接字下用混杂模式捕获报文进行判断了,流量判断也是,接收方是本机的某个ip,报文的src是公网的还是子网的
以前上过网,只能通过一些系统遗留的痕迹来判断了,比如网络字节数,cookie,浏览器历史记录等
c1997sdn 2013-02-01
  • 打赏
  • 举报
回复
还有什么好的思路吗? 谢谢了。
  • 打赏
  • 举报
回复
访问哪几个网址需要查阅cookie
  • 打赏
  • 举报
回复
ping 一个网址
c1997sdn 2013-01-24
  • 打赏
  • 举报
回复
这句没看明白。。。
引用 7 楼 vcorange 的回复:
好像为了隐蔽自己向外发报,不断的检测其他主机啊。。。。
c1997sdn 2013-01-24
  • 打赏
  • 举报
回复
嗅探不是解决办法啊, 因为主要目的是检测计算机以前是否上过网, 而不是现在是否在上网
引用 9 楼 vcorange 的回复:
要是自己不发报 那只能检测其他进程的网络连接,判断接收的的ip src 是不是一个来自公网的地址了,在套接字下用混杂模式捕获报文进行判断了,流量判断也是,接收方是本机的某个ip,报文的src是公网的还是子网的
c1997sdn 2013-01-24
  • 打赏
  • 举报
回复
请教:怎样获取网卡上的发送字节/接收字节?
引用 8 楼 chuachua66 的回复:
我只有个思路:网卡上不是有发送字节,接收字节,获取这个可以判断有没有上过网; 再者,查IE的cookie,查浏览器的历史,其他方面就想不到了。
vcorange 2013-01-21
  • 打赏
  • 举报
回复
要是自己不发报 那只能检测其他进程的网络连接,判断接收的的ip src 是不是一个来自公网的地址了,在套接字下用混杂模式捕获报文进行判断了,流量判断也是,接收方是本机的某个ip,报文的src是公网的还是子网的
chuachua66 2013-01-21
  • 打赏
  • 举报
回复
我只有个思路:网卡上不是有发送字节,接收字节,获取这个可以判断有没有上过网; 再者,查IE的cookie,查浏览器的历史,其他方面就想不到了。
vcorange 2013-01-21
  • 打赏
  • 举报
回复
好像为了隐蔽自己向外发报,不断的检测其他主机啊。。。。
c1997sdn 2013-01-21
  • 打赏
  • 举报
回复
1、如果检测软件不能主动连接外网,有办法吗? 2、请教怎样获取流量统计?能否区分开是局域网还是互联网的流量呢? 3、请教如何进内核,从TDI搞? 谢谢。
引用 5 楼 vcorange 的回复:
1. 自己连接外网 服务器 ,发送测试,等待返回 2. 获取流量统计 3. 这个要进内核 从TDI 搞
vcorange 2013-01-20
  • 打赏
  • 举报
回复
1、判断计算机能否连接互联网 2、检测计算机是否曾经连接过互联网, 3、找出该计算机上曾经连接过互联网的软件 1. 自己连接外网 服务器 ,发送测试,等待返回 2. 获取流量统计 3. 这个要进内核 从TDI 搞
jimette 2013-01-19
  • 打赏
  • 举报
回复
判断当前计算机是否可以联网,利用 RAS 函数进行判断。 这个函数可以正确判断当前是否已经连接到 Internet , 但是不能准确判断是否在局域网环境下的链接状态。 BOOL IsConnected() { RASCONN lpRasConn; RASCONNSTATUS rasStatus; DWORD cbBuf = 0; DWORD cConn = 0; DWORD dwRet = 0; cbBuf = sizeof (RASCONN); lpRasConn.dwSize = sizeof (RASCONN ); dwRet = RasEnumConnections(&lpRasConn, &cbBuf, &cConn ); if ( dwRet != 0 ) return FALSE; else { rasStatus.dwSize = sizeof (RASCONNSTATUS); RasGetConnectStatus(lpRasConn.hrasconn,&rasStatus); if (rasStatus.rasconnstate==RASCS_Connected) return TRUE; else return FALSE; } return TRUE; }
c1997sdn 2013-01-19
  • 打赏
  • 举报
回复
谢谢版主回复。 忘记说一个项目要求,检测软件不能主动去连接互联网。 而且,怎样找出曾经连接过互联网的软件呢?
引用 2 楼 oyljerry 的回复:
连接一个稳定的互联网的服务器,然后判断结果的方式来判断
c1997sdn 2013-01-19
  • 打赏
  • 举报
回复
谢谢。 RAS函数可以判断拨号上网的情况, 还不能完全满足要求。 如果计算机是通过局域网直接连接互联网, 或者通过VPN连接互联网, 该怎么办?
引用 1 楼 sha_jinhao 的回复:
判断当前计算机是否可以联网,利用 RAS 函数进行判断。 这个函数可以正确判断当前是否已经连接到 Internet , 但是不能准确判断是否在局域网环境下的链接状态。
oyljerry 2013-01-19
  • 打赏
  • 举报
回复
连接一个稳定的互联网的服务器,然后判断结果的方式来判断

18,363

社区成员

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

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