Board logo

标题: 求教.连接索引txt文件资料库的BAT怎样写?已解决 [打印本页]

作者: wgmlzj     时间: 2008-9-26 20:42    标题: 求教.连接索引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 ]
作者: hackate     时间: 2008-9-26 21:16
如何在运行netstat -an命令时马上就能得到对方的IP及所属地?
= ===
运行netstat -an得到你想要的那样的结果是不可能的事..
当然有变更的方式,你可以写个BAT来获取,批处理本身也无法做到,需要VBS协助才能够做到.恩..
作者: wgmlzj     时间: 2008-9-26 21:25
谢谢2楼.VBS我不会,你可以变通一下用BAT来获取?反正能得到结果就行.

再辛苦你一次可以吗?(甚至随便你怎么弄都可以,能得出结果就行)
作者: wgmlzj     时间: 2008-9-26 21:45
用"记录本"写的一段保存文件名为.VBS,用于回现输入的字符,这样的我能理解.(我的问题能用记事本写吗?)
Dim name,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)
作者: HAT     时间: 2008-9-26 21:52

@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

作者: wgmlzj     时间: 2008-9-26 22:10
谢谢5楼HAT牛人版主,OK了!
作者: hackate     时间: 2008-9-26 22:26
@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
)
))
作者: hackate     时间: 2008-9-26 22:28
当然如果要获取对应的IP省份信息的话呢?
那么你可以通过VBS来通过XMLHTTP对象获取响应IP的对应地址然后保存..
整个做起来比较复杂..
作者: wgmlzj     时间: 2008-9-29 14:06


  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文件,是这样吗?