|
|
@@ -0,0 +1,56 @@ |
|
|
# Gawk version |
|
|
# Remote |
|
|
grep -v "rem_address" /proc/net/tcp | awk '{x=strtonum("0x"substr($3,index($3,":")-2,2)); for (i=5; i>0; i-=2) x = x"."strtonum("0x"substr($3,i,2))}{print x":"strtonum("0x"substr($3,index($3,":")+1,4))}' |
|
|
|
|
|
# Local |
|
|
grep -v "rem_address" /proc/net/tcp | awk '{x=strtonum("0x"substr($2,index($2,":")-2,2)); for (i=5; i>0; i-=2) x = x"."strtonum("0x"substr($2,i,2))}{print x":"strtonum("0x"substr($2,index($2,":")+1,4))}' |
|
|
|
|
|
# No Gawk |
|
|
# Local |
|
|
grep -v "rem_address" /proc/net/tcp | awk 'function hextodec(str,ret,n,i,k,c){ |
|
|
ret = 0 |
|
|
n = length(str) |
|
|
for (i = 1; i <= n; i++) { |
|
|
c = substr(str, i, 1) |
|
|
c = tolower(c) |
|
|
k = index("123456789abcdef", c) |
|
|
ret = ret * 16 + k |
|
|
} |
|
|
return ret |
|
|
} {x=hextodec(substr($2,index($2,":")-2,2)); for (i=5; i>0; i-=2) x = x"."hextodec(substr($2,i,2))}{print x":"hextodec(substr($2,index($2,":")+1,4))}' |
|
|
|
|
|
# Remote |
|
|
grep -v "rem_address" /proc/net/tcp | awk 'function hextodec(str,ret,n,i,k,c){ |
|
|
ret = 0 |
|
|
n = length(str) |
|
|
for (i = 1; i <= n; i++) { |
|
|
c = substr(str, i, 1) |
|
|
c = tolower(c) |
|
|
k = index("123456789abcdef", c) |
|
|
ret = ret * 16 + k |
|
|
} |
|
|
return ret |
|
|
} {x=hextodec(substr($3,index($3,":")-2,2)); for (i=5; i>0; i-=2) x = x"."hextodec(substr($3,i,2))}{print x":"hextodec(substr($3,index($3,":")+1,4))}' |
|
|
|
|
|
|
|
|
# All in one |
|
|
awk 'function hextodec(str,ret,n,i,k,c){ |
|
|
ret = 0 |
|
|
n = length(str) |
|
|
for (i = 1; i <= n; i++) { |
|
|
c = substr(str, i, 1) |
|
|
c = tolower(c) |
|
|
k = index("123456789abcdef", c) |
|
|
ret = ret * 16 + k |
|
|
} |
|
|
return ret |
|
|
} |
|
|
function getIP(str,ret){ |
|
|
ret=hextodec(substr(str,index(str,":")-2,2)); |
|
|
for (i=5; i>0; i-=2) { |
|
|
ret = ret"."hextodec(substr(str,i,2)) |
|
|
} |
|
|
ret = ret":"hextodec(substr(str,index(str,":")+1,4)) |
|
|
return ret |
|
|
} |
|
|
NR > 1 {{if(NR==2)print "Local - Remote";local=getIP($2);remote=getIP($3)}{print local" - "remote}}' /proc/net/tcp |