windows下面的 netstat -ano
ruby吧
全部回复
仅看楼主
level 9
sevk 楼主
代码:
#! /usr/bin/env ruby
# =kk=
# [email protected]
# coding: utf-8#
#
require 'ipwry.rb'
@i = IpLocationSeeker.new
def addr(ip)
return '' if ip =~ /^0\.|^127|^192|^10/
@i.seek(ip).togb
end
$t = {}
`tasklist`.scan(/(^\w.+?)(\d+)\s*/m).each{|x,y| $t[y]=x.strip }
p ARGV
puts `netstat #{ARGV.join(' ')}`.gsub(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:)/){
"
#{addr($1)} #
{$1}"
}.gsub(/\s(\d+)$/m){$t[$1]}
运行netstat -ano 的效果:
Active Connections
Proto Local Address          Foreign Address        State
TCP     0.0.0.0:135             0.0.0.0:0              LISTENING
TCP     0.0.0.0:445             0.0.0.0:0              LISTENING
TCP     127.0.0.1:2347          127.0.0.1:2348         ESTABLISHED
TCP     127.0.0.1:2348          127.0.0.1:2347         ESTABLISHED
TCP     127.0.0.1:2349          127.0.0.1:2350         ESTABLISHED
TCP     127.0.0.1:2350          127.0.0.1:2349         ESTABLISHED
TCP     192.168.0.248:2383     北京市联通ADSL 123.125.65.210:80      ESTABLISHED
TCP     192.168.0.248:2384     北京市联通ADSL 123.125.65.210:80      ESTABLISHED
TCP     192.168.0.248:2389     北京市联通ADSL 123.125.115.48:80      ESTABLISHED
TCP     192.168.0.248:2449     美国加利福尼亚州山景市谷歌公司 64.233.183.166:80      E
STABLISHED
TCP     192.168.0.248:2452     美国加利福尼亚州山景市谷歌公司 66.249.89.154:80       E
STABLISHED
TCP     192.168.0.248:2456     美国加利福尼亚州山景市谷歌公司 64.233.183.157:80      E
STABLISHED
TCP     192.168.0.248:2458     美国加利福尼亚州山景市谷歌公司 64.233.183.157:80      E
STABLISHED
TCP     192.168.0.248:2461     北京市联通ADSL 123.125.65.111:80      CLOSE_WAIT
TCP     192.168.0.248:2462     北京市联通ADSL 123.125.65.93:80       ESTABLISHED
UDP     0.0.0.0:445            *:*
UDP     0.0.0.0:1318           *:*
UDP     0.0.0.0:3785           *:*
UDP     10.0.1.5:123           *:*
UDP     127.0.0.1:123          *:*
UDP     192.168.0.248:123      *:*

2010年12月16日 04点12分 1
1