|
wgmlzj
初级用户
积分 97
发帖 40
注册 2007-11-26
状态 离线
|
『楼 主』:
求教.连接索引txt文件资料库的BAT怎样写?已解决
用DOS命令:
netstat -an 会得到对方的IP如下:
TCP 192.168.1.200:1354 124.238.252.227:80 ESTABLISHED
TCP 192.168.1.200:1408 58.215.87.83:80 ESTABLISHED
TCP 192.168.1.200:1410 125.67.64.241 ESTABLISHED
现已经有一个.txt文本IP数据库如下:(由于很多只能在这列一些)
125.67.64.167 125.67.64.170 四川省遂宁市 电信
125.67.64.171 125.67.64.171 四川省遂宁市 金帝网吧(仁里镇)
125.67.64.172 125.67.64.188 四川省遂宁市 电信
125.67.64.189 125.67.64.189 四川省遂宁市 中期通网吧
125.67.64.190 125.67.64.190 四川省遂宁市 金榴莲网吧(育才东路71号)
125.67.64.191 125.67.64.240 四川省遂宁市 电信
125.67.64.241 125.67.64.241 四川省遂宁市 萤火虫网吧(天上街商业步行街二楼)
125.67.64.242 125.67.65.0 四川省遂宁市 电信
125.67.65.1 125.67.65.2 四川省遂宁市 玉竹网吧
125.67.65.3 125.67.65.6 四川省遂宁市 电信
125.67.65.7 125.67.65.7 四川省遂宁市 新感觉网吧
125.67.65.8 125.67.65.27 四川省遂宁市 电信
125.67.65.28 125.67.65.28 四川省遂宁市 飘一代网吧
125.67.65.29 125.67.65.41 四川省遂宁市 电信
125.67.65.42 125.67.65.42 四川省遂宁市 施普林网吧
.
.
.
.
.
.
格式是以上这样的,不能该变.现请教:
如何在运行netstat -an命令时马上就能得到对方的IP及所属地?
如125.67.65.42 四川省遂宁市 施普林网吧
谢谢!
在线等......
[ Last edited by wgmlzj on 2008-9-26 at 22:12 ]
|
|
2008-9-26 20:42 |
|
|
hackate
中级用户
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
2 楼』:
如何在运行netstat -an命令时马上就能得到对方的IP及所属地?
= ===
运行netstat -an得到你想要的那样的结果是不可能的事..
当然有变更的方式,你可以写个BAT来获取,批处理本身也无法做到,需要VBS协助才能够做到.恩..
|
|
2008-9-26 21:16 |
|
|
wgmlzj
初级用户
积分 97
发帖 40
注册 2007-11-26
状态 离线
|
『第
3 楼』:
谢谢2楼.VBS我不会,你可以变通一下用BAT来获取?反正能得到结果就行.
再辛苦你一次可以吗?(甚至随便你怎么弄都可以,能得出结果就行)
|
|
2008-9-26 21:25 |
|
|
wgmlzj
初级用户
积分 97
发帖 40
注册 2007-11-26
状态 离线
|
『第
4 楼』:
用"记录本"写的一段保存文件名为.VBS,用于回现输入的字符,这样的我能理解.(我的问题能用记事本写吗?)
Dim name,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)
|
|
2008-9-26 21:45 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
5 楼』:
@echo off
setlocal enabledelayedexpansion
set ipFile=C:\test\ip.txt
for /f "tokens=4 delims=: " %%a in ('netstat -an^|findstr /i "ESTABLISHED"') do (
for /f "tokens=1-4 delims=." %%h in ("%%a") do (
set ipHigh=%%h%%i
set ipLow=%%j%%k
)
for /f "usebackq tokens=1-10 delims=. " %%h in ("%ipFile%") do (
if !ipHigh! equ %%h%%i (
if !ipLow! geq %%j%%k (
if !ipLow! leq %%n%%o (
echo %%a %%p %%q
)
)
)
)
)
pause
|
|
|
2008-9-26 21:52 |
|
|
wgmlzj
初级用户
积分 97
发帖 40
注册 2007-11-26
状态 离线
|
『第
6 楼』:
谢谢5楼HAT牛人版主,OK了!
|
|
2008-9-26 22:10 |
|
|
hackate
中级用户
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
7 楼』:
@echo off
setlocal enabledelayedexpansion
for /f "skip=4 tokens=2,3" %%i in ('netstat -an') do (
set "str=%%j"
if not "!str:~0,7!"=="0.0.0.0" (
if not "!str:~0,9!"=="127.0.0.1" (
if not "!str:~0,3!"=="*:*" echo. %%i !str!>>test.txt
)
))
|
|
2008-9-26 22:26 |
|
|
hackate
中级用户
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
8 楼』:
当然如果要获取对应的IP省份信息的话呢?
那么你可以通过VBS来通过XMLHTTP对象获取响应IP的对应地址然后保存..
整个做起来比较复杂..
|
|
2008-9-26 22:28 |
|
|
wgmlzj
初级用户
积分 97
发帖 40
注册 2007-11-26
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by hackate at 2008-9-26 10:26 PM:
@echo off
setlocal enabledelayedexpansion
for /f "skip=4 tokens=2,3" %%i in ('netstat -an') do (
set "str=%%j"
if not "!str:~0,7!"=="0.0.0.0" (
if not & ... |
|
学习了.辛苦您了.
不过这个BAT运行后没看到结果是什么.也没看到有建立了TXT文件,是这样吗?
|
|
2008-9-29 14:06 |
|