Discussion:
netstat の -p オプションでプログラム名が表示されない現象について
(too old to reply)
taqu
2006-06-12 05:34:43 UTC
Permalink
$B$O$8$a$^$7$F!"(Btaqu $B$H$$$$$^$9!#(B

$BAaB.!"K\Bj$KF~$i$;$F$$$?$@$-$^$9!#(B

netstat $B%3%^%s%I$O(B -p $B%*%W%7%g%s$G!V(B $B3F%=%1%C%H$,B0$7$F$$$k%W%m%0%i%`$N(B PID $B$HL>A0(B $B!W(B $B$rI=<((B
$B$5$;$k;v$,=PMh$^$9!#(B
$B$"$k(BLinux$B$G(B"netstat -p "$B$r<B9T$7$?$H$3$m!"FCDj$N%W%m%0%i%`$K$D$$$F$OI=<($5$l$k$O$:$N%W%m%0%i%`L>$,I=<((B
$B$5$l$J$$8=>]$,H/@8$7$^$7$?!#$3$N8=>]$O:F5/F0$K$h$j2r>C$7$^$7$?!#(B
$B"((B $BET9g>e!"FCDj$N%W%m%0%i%`$,2?$+$r=q$/$3$H$,=PMh$^$;$s!#(B

$BD4::$r9T$&I,MW$,$"$k$N$G$9$,!"A0DsCN<1$,ITB-$7$F$*$j!"D4::$,Fq$7$$>u67$G$9!#(B
$BKvHx$K$"$k!"4v$D$+$N5?LdE@$KBP$7$F$4=u8@$$$?$@$1$k$HBgJQ=u$+$j$^$9!#(B

------------------------------------------------------------
$B!&%P!<%8%g%s>pJs(B
------------------------------------------------------------
$B!&%+!<%M%k(B($B%=!<%9$+$i%3%s%Q%$%k(B)
[***@host root]# uname -a
Linux TEST 2.4.24 #7 Wed Jun 2 12:24:48 JST 2004 i686 i686 i386 GNU/Linux

$B!&(Bnetstat ( RedHat9$B$N(Brpm$B$=$N$^$^(B)
[***@host root]# netstat --version
net-tools 1.60
netstat 1.42 (2001-04-15)
Fred Baumgarten, Alan Cox, Bernd Eckenfels, Phil Blundell, Tuan Hoang and others
+NEW_ADDRT +RTF_IRTT +RTF_REJECT +FW_MASQUERADE +I18N
AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE
HW: +ETHER +ARC +SLIP +PPP +TUNNEL +TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB
[***@host root]#

------------------------------------------------------------
$B!&LdBj$N8=>](B
------------------------------------------------------------
netstat -p $B%*%W%7%g%s$G%W%m%0%i%`$,I=<($5$l$J$$!#I=<($5$l$J$$$N$O(B
$BFCDj$N%W%m%0%i%`$,(BListen$B$7$F$$$k(BTCP/8080$B$H(BTCP/21$BHV$r(BListen$B$7$F$$$k(B
$B%=%1%C%H$K4X$7$F$N$_$G$"$j!"B>$N%=%1%C%H$K4X$7$F$OLdBj$J$/%W%m(B
$B%0%i%`L>$,I=<($5$l$F$$$?!#(B

$B:F5/F0$K$h$jLdBj$,2r>C$7$?!#(B
------------------------------------------
$B!&0[>u%1!<%9(B $B%W%m%0%i%`L>%+%i%`$,(B"-"$B$K$J$k!#(B
------------------------------------------
[***@host tmp]# netstat -l -p -n -t -ee
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 2147483647 -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 0 2147483647 -
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 0 1605 1097/xinetd
------------------------------------------
$B!&@5>o%1!<%9(B
------------------------------------------
[***@host tmp]# netstat -l -p -n -t -ee
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 2147483647 1234/testprogram
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 0 2147483649 5678/testprogram
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 0 1605 1097/xinetd
------------------------------------------------------------
$B!&9T$C$?@Z$jJ,$1(B
------------------------------------------------------------
$B!&(Bman proc $B$r0lDL$jFI$_!"(B netstat $B$O(B /proc/net $BG[2<$N%U%!%$%k$***@07A$7$FI=<($7$F$$$k!#$HM}2r$7$^$7$?!#(B
$B!&@5>o%1!<%9$H0[>u%1!<%9$G0J2<$N:90[$,$"$k;v$,J,$+$j$^$7$?!#(B
< $***@5>o%1!<%9(B >
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(BTCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$J$$!#(B
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(B/proc/net/tcp $B$NFbMF$H0lCW$9$k!#(B

< $B0[>u%1!<%9(B >
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(BTCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$k!#(B
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(B/proc/net/tcp $B$NFbMF$H0lCW$7$J$$!#(Bnetstat -ee $B$GI=<($5$l$?(BInode$BHV9f$r(B /proc/net/tcp $B$+$i(B
grep $B$GC5$7$F$b8+$D$+$i$J$$!#(B

------------------------------------------------------------
$B!&5?LdE@(B
------------------------------------------------------------
$B!&(Bnetstat $B$O(B /proc/net/tcp $B$***@07A$7$F$$$k$N$G!"(Bnetstat $B$***@07A%_%9(B(=$B%P%0(B)$B$H9M$($F$h$$$N$+!)(B

$B!&2>$K(Bnetstat$B$K%P%0$,L5$+$C$?$H$7$F!"(Bnetstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(BTCP/80$B$H(BTCP/21$B$GF10l(B
$B$K$J$k$H$$$&;v$O$=$b$=$b0[>u$H8@$$@Z$C$F$h$$$+!)(B

$B!&(Bnetstat $B$NIT6q9g0J30$K$O$I$&$$$C$?860x$,9M$($i$l$k$+!)(B
$B!&$3$&$$$C$?8=>]$ND4::$KM-8z$J<jK!$K$O$I$N$h$&$J$b$N$,$"$k$+!)(B

------------------------------------------------------------
--
taQu <***@y9.dion.ne.jp>
SUZUKI Yasuhiro
2006-06-13 10:45:22 UTC
Permalink
$B$3$s$P$s$O!#(B

$B%+!<%M%k$N%P%0$J$I$G(B /proc $B0J2<$,$*$+$7$/$J$C$?(B
$B2DG=@-$,$"$k$+$b$7$l$^$;$s!#$^$?!"(B/proc $B0J2<$O(B
$B<B$***@5>o$G!"%"%W%j$,$*$+$7$J;v$r$7$?2DG=@-$,(B
$B$"$k$+$b$7$l$^$;$s!#(B

Debian $B$N%=!<%9%Q%C%1!<%8$r<hF@$7!"(B netstat $B$N(B
$B%=!<%9%3!<%I$N(B netstat..c $B$r8+$F$_$^$7$?!#(B
($B;29M(B)
http://ftp.debian.org/debian/pool/main/n/net-tools/net-tools_1.60.orig.tar.gz

'-p'$B%*%W%7%g%s$N=hM}$O!"(B prg_cache_load()$B4X?t$G(B
$B9T$o$l$F$$$^$9!#$3$N4X?t$O!"(B /proc/PID/fd
$B%G%#%l%/%H%j(B('PID'$B$***@0?t$N%W%m%;%9(BID)$BFb$N(B
$B%7%s%\%j%C%/%j%s%/$N%U%!%$%k$rC5$7=P$7!"(B
$B%=%1%C%H7A<0$K$h$j4X?t(B
extract_type_1_socket_inode()
socket:[12345] $B7A<0(B
$B$^$?$O(B
extract_type_2_socket_inode()
[0000]:12345 $B7A<0(B
$B$,!"%j%s%/@h$N%U%!%$%kL>$+$i(Bi-node$BHV9f$r(B
$B<hF@$7$^$9!#(B

$B$=$7$F!"(B /proc/PID/cmdline$B%U%!%$%k$+$i(B
$B%W%m%;%9L>$r<hF@$7$^$9!#%W%m%;%9L>$,(B
$BF~$k%P%C%U%!$NBg$-$5$O(B512$B%P%$%H$G$9!#(B

$B$3$N$h$&$K!"%W%m%;%9Kh$K4IM}$5$l$F$$$k(B
$B>pJs$+$i!"(Bi-node$B$H%W%m%;%9L>$r(B netstat
$B$O<hF@$7!"I=<($7$F$$$^$9!#(B

$B$$$:$l$K$7$F$b!"0[$J$k%]!<%H$,F1$8(B
$B%=%1%C%H$r;HMQ$9$k$H$O!"0[>o$J;vBV$H(B
$B;W$$$^$9!#(B
# $B<oN`$N0[$J$k%=%1%C%H$G$?$^$?$^(B
# i-node$BHV9f$,0lCW$7$?(B? $B$G$b!"(BTCP
# $B%]!<%H$G%=%1%C%H<oN`$,0[$J$k(B?

netstat $B$N%P%0$K$D$$$F$OITL@$G$9!#(B

$B%3%a%s%H!&JdB-Ey!"<1<T$+$i$$$?$@$1$l$P(B
$B9,$$$G$9!#(B
Post by taqu
$B$O$8$a$^$7$F!"(Btaqu $B$H$$$$$^$9!#(B
netstat $B%3%^%s%I$O(B -p $B%*%W%7%g%s$G!V(B $B3F%=%1%C%H$,B0$7$F$$$k%W%m%0%i%`$N(B PID $B$HL>A0(B $B!W(B $B$rI=<((B
$B$5$;$k;v$,=PMh$^$9!#(B
$B$"$k(BLinux$B$G(B"netstat -p "$B$r<B9T$7$?$H$3$m!"FCDj$N%W%m%0%i%`$K$D$$$F$OI=<($5$l$k$O$:$N%W%m%0%i%`L>$,I=<((B
$B"((B $BET9g>e!"FCDj$N%W%m%0%i%`$,2?$+$r=q$/$3$H$,=PMh$^$;$s!#(B
$BD4::$r9T$&I,MW$,$"$k$N$G$9$,!"A0DsCN<1$,ITB-$7$F$*$j!"D4::$,Fq$7$$>u67$G$9!#(B
...($BN,(B)...
Post by taqu
------------------------------------------------------------
$B!&LdBj$N8=>](B
------------------------------------------------------------
netstat -p $B%*%W%7%g%s$G%W%m%0%i%`$,I=<($5$l$J$$!#I=<($5$l$J$$$N$O(B
$BFCDj$N%W%m%0%i%`$,(BListen$B$7$F$$$k(BTCP/8080$B$H(BTCP/21$BHV$r(BListen$B$7$F$$$k(B
$B%=%1%C%H$K4X$7$F$N$_$G$"$j!"B>$N%=%1%C%H$K4X$7$F$OLdBj$J$/%W%m(B
$B%0%i%`L>$,I=<($5$l$F$$$?!#(B
$B:F5/F0$K$h$jLdBj$,2r>C$7$?!#(B
...($BN,(B)...
Post by taqu
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(BTCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$J$$!#(B
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(B/proc/net/tcp $B$NFbMF$H0lCW$9$k!#(B
< $B0[>u%1!<%9(B >
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(BTCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$k!#(B
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(B/proc/net/tcp $B$NFbMF$H0lCW$7$J$$!#(Bnetstat -ee $B$GI=<($5$l$?(BInode$BHV9f$r(B /proc/net/tcp $B$+$i(B
grep $B$GC5$7$F$b8+$D$+$i$J$$!#(B
------------------------------------------------------------
------------------------------------------------------------
$B!&2>$K(Bnetstat$B$K%P%0$,L5$+$C$?$H$7$F!"(Bnetstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(BTCP/80$B$H(BTCP/21$B$GF10l(B
$B!&(Bnetstat $B$NIT6q9g0J30$K$O$I$&$$$C$?860x$,9M$($i$l$k$+!)(B
$B!&$3$&$$$C$?8=>]$ND4::$KM-8z$J<jK!$K$O$I$N$h$&$J$b$N$,$"$k$+!)(B
...($BN,(B)...

$B0J>e$G$9!#(B

------------------------------------------------------------
$BNkLZ(B $B9/90(B(SUZUKI Yasuhiro)
***@ysuzuki.net
http://www31.ocn.ne.jp/~yswww/myself/
SUZUKI Yasuhiro
2006-06-13 11:13:33 UTC
Permalink
$B$3$s$P$s$O!#NkLZ$G$9!#(B

netstat.c $B$r8+$F$***@O$NB3$-$G$9!#(B

$B%W%m%;%9L>$O(B /proc/PID/cmdline $B$+$i(B
prg_cache_load() $B$,<hF@$7!"(B /poc/PID/fd/*
$B$+$i<hF@$7$?(Bi-node$BHV9f$r85$K(Bnetstat$BFbIt$K(B
$BJ]4I$7$^$9!#(B

$B0lJ}(B $BI=<($9$k$H$-$O!"(B/proc/net/tcp $B$+$i(B
$B<hF@$9$k(Bi-node$BHV9f(B('-ee'$B%*%W%7%g%s$GI=<((B
$B$5$l$kCM(B)$B$r85$K!"(Bnetstat$BFbIt$GJ]B8$7$F$$$k(B
$B%W%m%;%9L>$r<h$j=P$7$^$9!#(B

$B$7$?$,$C$F!"(B/proc/PID/cmdline $B$,@5$7$/$F$b!"(B
/proc/PID/fd/* $B$H(B /proc/net/tcp $B$H$G(B i-node
$BHV9f$,0[$J$k$H!"%W%m%;%9L>$r(B netstat $B$,I=<((B
$B$G$-$J$$$3$H$,$"$k$h$&$G$9!#(B

On Mon, Jun 12, 2006 at 02:34:43PM +0900, taqu wrote:
...($BN,(B)...
Post by taqu
< $B0[>u%1!<%9(B >
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(BTCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$k!#(B
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$,(B/proc/net/tcp $B$NFbMF$H0lCW$7$J$$!#(Bnetstat -ee $B$GI=<($5$l$?(BInode$BHV9f$r(B /proc/net/tcp $B$+$i(B
grep $B$GC5$7$F$b8+$D$+$i$J$$!#(B
...($BN,(B)...
$B$N>l9g$,3:Ev$9$k$h$&$G$9$M!#(B

$B0J>e$G$9!#(B

------------------------------------------------------------
$BNkLZ(B $B9/90(B(SUZUKI Yasuhiro)
***@ysuzuki.net
http://www31.ocn.ne.jp/~yswww/myself/
taqu
2006-06-14 13:15:16 UTC
Permalink
taqu$B$G$9!#(B

$BNkLZMM!"$"$j$,$H$&$4$6$$$^$9!#(B
$BHs>o$K;29M$K$J$j$^$7$?!#(B
$BD:$$$?>pJs$r$b$H$KDI$C$F$_$^$7$?!#(B
Post by SUZUKI Yasuhiro
$B$3$s$P$s$O!#NkLZ$G$9!#(B
$B%W%m%;%9L>$O(B /proc/PID/cmdline $B$+$i(B
$BJ]4I$7$^$9!#(B
$B0lJ}(B $BI=<($9$k$H$-$O!"(B/proc/net/tcp $B$+$i(B
$B$5$l$kCM(B)$B$r85$K!"(Bnetstat$BFbIt$GJ]B8$7$F$$$k(B
$B%W%m%;%9L>$r<h$j=P$7$^$9!#(B
Inode$B$H%W%m%0%i%`$NI=<($O(B tcp $B$N>l9g(B tcp_info $B$G9T$o$l$F$*$j3N$+$K(B _PATH_PROCNET_TCP (= /proc/net/tcp)$B$r8+$F$^$9$M!#(B

1757 if (!flag_arg || flag_tcp) {
1758 i = tcp_info();

v4$B$N>l9g$O!"%^%/%m(B INFO_GUTS1 $B7PM3$G8F$P$l$k(B tcp_do_one $B$N:G8e$NJ}$G8F$P$l$k(B finish_this_one $B$G(B
$B9T$o$l$F$$$k$h$&$K8+$($^$9!#(B
$B"((B $B$3$N$h$&$J8@$$J}$K$J$k$N$O$A$c$s$HFI$a$F$k$+<+?.$,$J$$$+$i$G$9!#(B
$B$3$N$J$+$G!"(B-ee $B$G(B2$B%;%C%H$5$l$k(B flag_exp $B$H(B-p $B$G%;%C%H$5$l$k(B flag_prg $B$r8+$F$$$^$9!#(B

524 static void finish_this_one(int uid, unsigned long inode, const char *timers)
525 {
526 struct passwd *pw;
527
528 if (flag_exp > 1) {
529 if (!(flag_not & FLAG_NUM_USER) && ((pw = getpwuid(uid)) != NULL))
530 printf("%-10s ", pw->pw_name);
531 else
532 printf("%-10d ", uid);
533 printf("%-10ld ",inode);
534 }
535 if (flag_prg)
536 printf("%-" PROGNAME_WIDTHs "s",prg_cache_get(inode));
537 if (flag_opt)
538 printf("%s", timers);
539 putchar('\n');
540 }

$B$3$3$G$OC1$KEO$5$l$?(B inode $B$rI=<($7$F$$$k$@$1$J$N$G$9$,!"$$$:$l$K$;$h85$H$J$k(B /proc/net/tcp $B$G$O=EJ#$7$F(B
$B$$$J$$(B Inode $B$,(Bnetstat $B$G=EJ#$7$FI=<($5$l$k;v$r9M$($k$H(B netstat $B$,$*$+$7$$$H8@$($=$&$J5$$,$7$F$-$^$7$?!#(B

$B0x$_$KLdBj$N%W%m%0%i%`$O(B $B%]!<%HHV9f(B 21 $BHV$H(B 8080 $B$r(BListen$B$7$F$*$***@5>o$KI=<($5$l$?;~$N(B
/proc/net/tcp $B$NFbMF$O0J2<$G$9!#(B

sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 1608219204 1 e65c6c40 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 1764 1 c28b5ca0 300 0 0 2 -1

Inode $B$,=EJ#$7$FI=<($5$l!"%W%m%0%i%`L>$,0z$1$J$+$C$?;~$N(B /proc/net/tcp $B$O0J2<$G$9!#(B

sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241091380 1 c5c8f9c0 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241448530 1 f75616a0 300 0 0 2 -1

/proc/net/tcp $B$N(Binode $B$O(B10$B?J?t$J$N$G!"(Bprintf("%-10ld ",inode); $B$GLdBj$J$/I=<($G$-$k$O$:$J$N$G$9$,$J$<$+I=<($O(B

[***@host tmp]# netstat -l -p -n -t -ee
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 2147483647 -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 0 2147483647 -

$B$H$J$C$F$7$^$C$F$$$^$7$?!#(B
finish_this_one $B$KEO$5$l$k$^$G$K$*$+$7$/$J$C$F$$$k$N$G$7$g$&$+!#!#!#(B
Post by SUZUKI Yasuhiro
/proc/PID/fd/* $B$H(B /proc/net/tcp $B$H$G(B i-node
$BHV9f$,0[$J$k$H!"%W%m%;%9L>$r(B netstat $B$,I=<((B
$B$G$-$J$$$3$H$,$"$k$h$&$G$9!#(B
$B$?$7$+$K$=$&$$$C$?%1!<%9$G$OI=<($,=PMh$J$j$^$9$M!#(B
$B8=>]H/@8;~$N:n6H%m%0$r3NG'$7$F$_$^$7$?!#$G!"(B/proc/net/tcp $B$N%(%s%H%j$H9gCW$7$F$$$^$7$?!#(B
$B"((B $B%W%m%0%i%`L>$,J,$+$kItJ,$O(B *********** $B$GIz$;$5$;$F$^$9!#(B

[***@host 9763]# ls -l fd/
total 0
lr-x------ 1 root root 64 May 30 17:14 0 -> /dev/null
l-wx------ 1 root root 64 May 30 17:14 1 -> /dev/null
l-wx------ 1 root root 64 May 30 17:14 2 -> /dev/null
l-wx------ 1 root root 64 May 30 17:14 3 -> ******************************
l-wx------ 1 root root 64 May 30 17:14 4 -> pipe:[2241091376]
l-wx------ 1 root root 64 May 30 17:14 5 -> /dev/null
l-wx------ 1 root root 64 May 30 17:14 6 -> ******************************
l-wx------ 1 root root 64 May 30 17:14 7 -> ******************************
lrwx------ 1 root root 64 May 30 17:14 8 -> socket:[2241091380] $B"+(B $B$3$N(BInode $BHV9f$O(B /proc/net/tcp $B$H0lCW$9$k!#(B

$B=EJ#$N$b$&JRJ}$N(B inode 2241448530 $B$NJ}$O%m%0$K;D$C$F$^$;$s$G$7$?!#!#(B
$B2DG=@-$H$7$F!"(Bnetstat $B$,$A$c$s$H(B/net/proc/tcp $B$+$i(BInode$B$r<h$l$F$J$$$N$G!"=EJ#$b$9$k$7!"$^$A$,$C$?(BInode $B$G%W%m%0%i%`L>$rC5$7$F$bEPO?$5$l$F$$$J$$$N$G8+$D$+$i$J$$(B
$B$H$$$C$?;v$b$"$k$N$G$O$J$$$+$H?dB,$7$F$^$9!#(B

$B$^$?2?$+J,$+$C$?$iJs9p$7$^$9!#(B
$B$"$j$,$H$&$4$6$$$^$7$?!#(B
--
taQu <***@y9.dion.ne.jp>
SUZUKI Yasuhiro
2006-06-15 12:33:01 UTC
Permalink
taqu$B$5$s!"$3$s$P$s$O!#NkLZ$G$9!#(B

$B%W%m%0%i%`L>$rJ]B8$7$F$$$k9=B$BN$NDj5A$,(B
netstat.c $B$G!"(B
static struct prg_node {
struct prg_node *next;
int inode;
char name[PROGNAME_WIDTH];
} *prg_hash[PRG_HASH_SIZE];
$B$H$J$C$F$$$^$7$?!#(B

$BJQ?t(Binode$B$N7?$O(Bint$B$K$J$C$F$$$^$9!#(B

$B0lJ}$G!"(Btaqu$B$5$s$N>l9g!"(Binode$B$,(Bint$B$r(B
$B1[$($?CM$K$J$C$F$$$^$9!#(B

prg_node$B9=B$BN$N%j%9%H$+$i%W%m%0%i%`L>$r(B
$B<hF@$9$k4X?t(B
static const char *prg_cache_get(int inode)
$B$OFbIt$G(Binode$B$NHf3S$r9T$$!"0lCW$9$k$b$N$N(B
$B%W%m%0%i%`L>$rJV$7$F$$$^$9!#4X?t$N8F$S=P$74X78$O!"(B
tcp_do_one()
| long inode
|
----> finish_this_one(,inode,)
| unsigned long inode
|
---> prg_cache_get(inode)
int inode
$B$H$J$C$F$$$^$9!#(B

netstat$B$N%P%0$C$]$$$G$9$M!#(B

$B$?$@(Bint$B$NBg$-$5$***@3N$KDj5A$5$l$F$$$J$+$C$?(B
$B5$$,$7$^$9!#(B inode$B$,(B10$B?***@0?t(B10$B7e$NCM$r$H$k$h$&$J(B
$B%^%7%s$G$O(B int $B$***@0?t(B10$B7e(BOK?$B!"$H;W$$$^$7$?$,!"(B
taqu$B$5$s$N%^%7%s$O(B i686$B$G$9$M!#(B

i686$B$G!"1?MQ>e(B inode$B$,(B10$B?***@0?t(B10$B7e$K$J$C$F(B
$BNI$$$b$N$G$7$g$&$+(B?

$B%+!<%M%k%=!<%9(B(2.4.28)$B$N(Binclude/linux/fs.h $B$G$O!"(B
struct inode {
...($BN,(B)...
unsigned long i_ino;
$B$H$J$C$F$$$^$9$N$G!"IT2DG=$G$O$J$$$h$&$G$9$,!#(B
$B%+!<%M%k>\$7$$$o$1$G$O$"$j$^$;$s$N$G!"<1<T$N(B
Post by taqu
taqu$B$G$9!#(B
$BNkLZMM!"$"$j$,$H$&$4$6$$$^$9!#(B
$BHs>o$K;29M$K$J$j$^$7$?!#(B
$BD:$$$?>pJs$r$b$H$KDI$C$F$_$^$7$?!#(B
...($BN,(B)...
Post by taqu
/proc/net/tcp $B$NFbMF$O0J2<$G$9!#(B
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 1608219204 1 e65c6c40 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 1764 1 c28b5ca0 300 0 0 2 -1
Inode $B$,=EJ#$7$FI=<($5$l!"%W%m%0%i%`L>$,0z$1$J$+$C$?;~$N(B /proc/net/tcp $B$O0J2<$G$9!#(B
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241091380 1 c5c8f9c0 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241448530 1 f75616a0 300 0 0 2 -1
/proc/net/tcp $B$N(Binode $B$O(B10$B?J?t$J$N$G!"(Bprintf("%-10ld ",inode); $B$GLdBj$J$/I=<($G$-$k$O$:$J$N$G$9$,$J$<$+I=<($O(B
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 2147483647 -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 0 2147483647 -
$B$H$J$C$F$7$^$C$F$$$^$7$?!#(B
finish_this_one $B$KEO$5$l$k$^$G$K$*$+$7$/$J$C$F$$$k$N$G$7$g$&$+!#!#!#(B
...($BN,(B)...

$B0J>e!"$4;29M$K$J$l$P9,$$$G$9!#(B

------------------------------------------------------------
$BNkLZ(B $B9/90(B(SUZUKI Yasuhiro)
***@ysuzuki.net
http://www31.ocn.ne.jp/~yswww/myself/
SUZUKI Yasuhiro
2006-06-15 13:15:09 UTC
Permalink
$B$3$s$P$s$O!"NkLZ$G$9!#$?$S$?$S:Q$_$^$;$s!#(B

$B;d$N(BPC$B$G;n$7$?$H$3$m!"(B
[***@boo foo]# netstat --version
net-tools 1.60
netstat 1.42 (2001-04-15)
Fred Baumgarten, Alan Cox, Bernd Eckenfels, Phil Blundell, Tuan Hoang and others
...($BN,(B)...
[***@boo foo]# netstat -tanpee
$B2TF/Cf$N%$%s%?!<%M%C%H@\B3(B ($B%5!<%P$H3NN)(B)
Proto $B<u?.(B-Q $BAw?.(B-Q $BFbIt%"%I%l%9(B $B30It%"%I%l%9(B $B>uBV(B $B%f!<%6(B I$B%N!<%I(B PID/Program name
...($BN,(B)...
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 1037525 23856/portmap
...($BN,(B)...
tcp 0 0 0.0.0.0:764 0.0.0.0:* LISTEN 0 1037593 23904/rpc.rquotad
...($BN,(B)...
[***@boo foo]#
$B$H$J$j!"(Binode$B$NCM$,(B7$B7e$H!"0lHLE*$J(Bint$B$N:GBgCM(B
($***@0?t(B5$B7e(B)$B$r1[$($F$$$F$***@5>o$KI=<($5$l$F$$$^$7$?!#(B
netstat$B$K%P%0$O$"$C$F$b!"(Blong$B$+$i(Bint$B$X0lDj$NCM$K(B
$B%-%c%9%H$5$l$k$N$G!">I>u$,H/8=$7$J$$$N$G$7$g$&$+(B?

$B$^$?(Btaqu$B$5$s$N>l9g!"(B
[linux-users:106642]
Post by taqu
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(B
TCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$k!#(B
$B$H$N$3$H!#$3$l$O!"(B/proc/net/tcp $BFb$N(Binode$B$NCM$,=EJ#(B
$B$7$F$$$k$3$H$r<($7$^$9$N$G!"%^%7%s<+BN(B(OS$B$^$?$O%"%W%j(B)
$B$K$b0[>o$,$"$k$H;W$$$^$9!#(B

$B$=$l$G$O!"<:Ni$$$?$7$^$9!#(B

------------------------------------------------------------
$BNkLZ(B $B9/90(B(SUZUKI Yasuhiro)
***@ysuzuki.net
http://www31.ocn.ne.jp/~yswww/myself/
ISHIKAWA Sachihiro
2006-06-16 01:41:45 UTC
Permalink
$***@P@n$H$$$$$^$9!#(B

$B:Y$+$$$H$3$G$9$,!#!#(B
Post by SUZUKI Yasuhiro
$B$H$J$j!"(Binode$B$NCM$,(B7$B7e$H!"0lHLE*$J(Bint$B$N:GBgCM(B
$B:#;~$N(B 32 bit $B%^%7%s$G$O(B int$B$N%5%$%:(B == long int$B$N%5%$%:(B == 32 bit $B$@(B
$B$H;W$C$F$$$k$N$G!"7e?tE*$K$O(B 10 $B7e$G$bBg>fIW$J$O$:!#$?$@!"$=$N>l9g$G$b(B
$BId9fIU$-$@$H(B 2,147,483,647 $B!"Id9f$J$7$@$H(B 4,294,967,295 $B$,:GBg$K$J$j$^(B
$B$9!#(B

$BNkLZMM$ND4::7k2L$h$j!"0J2<$N$H$3$m$,<BAu>e$NL7=b(B($B$H8@$C$F$$$$$N$+$J(B)$B$N(B
$B$h$&$K8+$($^$9!#(B
Post by SUZUKI Yasuhiro
$B%W%m%0%i%`L>$rJ]B8$7$F$$$k9=B$BN$NDj5A$,(B
netstat.c $B$G!"(B
static struct prg_node {
struct prg_node *next;
int inode; $B"+"+!z!z(B
char name[PROGNAME_WIDTH];
} *prg_hash[PRG_HASH_SIZE];
$B$H$J$C$F$$$^$7$?!#(B
$B%+!<%M%k%=!<%9(B(2.4.28)$B$N(Binclude/linux/fs.h $B$G$O!"(B
struct inode {
...($BN,(B)...
unsigned long i_ino; $B"+"+!z!z(B
$B$H$J$C$F$$$^$9$N$G!"IT2DG=$G$O$J$$$h$&$G$9$,!#(B
$B0J2<$N$h$&$K!"I=<($,$*$+$7$/$J$C$?;~$N(B inode $B$,Id9fIU$-(B 32 bit $B$NHO0O(B
$B$rD6$($F$7$^$C$F$$$k$?$a$K!"Ii$N?t$K$J$C$F$7$^$C$F$$$F$=$N8e$N=hM}$G$*(B
$B$+$7$/$J$C$F$$$k$N$G$O!)$H?dB,$7$^$7$?!#(B
Post by SUZUKI Yasuhiro
Inode $B$,=EJ#$7$FI=<($5$l!"%W%m%0%i%`L>$,0z$1$J$+$C$?;~$N(B /proc/net/tcp $B$O0J2<$G$9!#(B
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241091380 1 c5c8f9c0 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241448530 1 f75616a0 300 0 0 2 -1
$B0J>eAv$jFI$_$G$9$,!#!#!#(B

$B!<!<!<!<!<!<(B
--
-- nobichan
taqu
2006-06-18 04:32:44 UTC
Permalink
taqu$B$G$9!#(B

$BNkLZMM!"@***@nMM(B $B$"$j$,$H$&$4$6$$$^$9!#(B

$B"((B $B$I$&$7$F$b;d$O%W%m%0%i%`$,@lLg$G$O$J$$$N$G?)$i$$$D$$$F$$$/$N$K;~4V$,$+$+$j%l%9$,CY$/$J$C$F$7$^$$$^$9!#(B
$B"((B $B;d$O$3$&$$$&5;=Q7O$N%*!<%W%s$J(BML$B$K=i$a$F;22C$7$?$N$G$9$,!"Hs>o$KJY6/$K$J$C$F$*$j46F0$7$F$*$j$^$9!#(B

$B$G!"K\Bj$G$9$,!"(B
$***@5>o$KI=<($5$l$?;~$N(Binode$BCM$H0[>o;~$N(Binode$BCM$N07$$$rHf3S$7$F$_$k$?$a$K(B
$BLdBj$,H/@8$7$?%^%7%s$HF1$8%O!<%I!"(BOS$B$G0J2<$N%W%m%0%i%`$G;n$7$F$_$^$7$?!#(B
------------------------------------------------------------
[***@HOGE root]# cat -n test.c
1 #include <stdio.h>
2
3 int main() {
4
5 int ng_i, ok_i;
6 unsigned int ng_ui, ok_ui;
7
8 // Inode Vlue of NG
9 ng_i = 2241091380;
10 ng_ui = 2241091380;
11
12 // Inode Vlue of OK
13 ok_i = 1608219204;
14 ok_ui = 1608219204;
15
16 printf("ng_i = %d : ng_ui = %u \n",ng_i ,ng_ui);
17 printf("ok_i = %d : ok_ui = %u \n",ok_i ,ok_ui);
18 return 0;
19 }
20
[***@HOGE root]# gcc -Wall test.c
test.c: In function `main':
test.c:9: warning: decimal constant is so large that it is unsigned
test.c:10: warning: decimal constant is so large that it is unsigned
[***@HOGE root]# ./a.out
ng_i = -2053875916 : ng_ui = 2241091380
ok_i = 1608219204 : ok_ui = 1608219204
[***@HOGE root]#
------------------------------------------------------------

NG$B$NJ}$G$O7Y9p$,$G$^$9$7!"(Bint$B7?$G$***@P@nMM$N$*$C$7$c$k$h$&$K%^%$%J%9$K$J$j$^$9!#(B
$B$d$O$j(Bnetstat $B$N$,%@%a$J$s$G$7$g$&$+!)(B

$BNkLZMM$N$+$+$l$?(B
Post by SUZUKI Yasuhiro
$B$^$?(Btaqu$B$5$s$N>l9g!"(B
[linux-users:106642]
Post by taqu
netstat -ee $B$GI=<($5$l$k(BInode$BHV9f$O(BTCP/8080$B$H(B
TCP/21$BHV$N%=%1%C%H$G=EJ#$7$F$$$k!#(B
$B$H$N$3$H!#$3$l$O!"(B/proc/net/tcp $BFb$N(Binode$B$NCM$,=EJ#(B
$B$7$F$$$k$3$H$r<($7$^$9$N$G!"%^%7%s<+BN(B(OS$B$^$?$O%"%W%j(B)
$B$K$b0[>o$,$"$k$H;W$$$^$9!#(B
$B$K$D$$$F$O!"%^%7%s<+BN$N0[>u(B(OS)$B$OL5$$$H8@$$@Z$C$F$$$$$h$&$K;W$C$F$$$^$9!#(B
/proc/net/tcp $B$NCf?H$G$O=EJ#$7$F$*$i$:!"(Bnetstat $B$G$NI=<(;~$K(B"$B=EJ#$7$FI=<($5$l$k(B" $B$N$G(Bnetstat$B$NLdBj$G$"$k$H$$$&M}2r$r$7$F$$$k$+$i$G$9!#(B
$B"((B OS$B$N0[>u$G$O$J$$$N$GF0:n$K$O0[>u$,$J$$!"$H8@$$@Z$l$k$3$H$,;E;v>e5a$a$i$l$F$$$k$N$G$9$,!"$^$@<+?.$,;}$A$-$l$J$$$H$3$m$,%H%[%[$J$H$3$m$G$9!#(B

/proc/net/tcp $B$OD>@\JT=8$G$-$J$$$N$G!"(Bnet-tools-1.60/lib/pathnames.h $B$GDj5A$5$l$F$$$k(B _PATH_PROCNET_TCP $B$r(B/tmp/net/tcp $BEy$K=q$-49$($?$j!"(B
prg_cache_get(inode) $BFb$N(B inode $B$N7?$rJQ$($F$_$F(B $B%3%s%Q%$%k$7!"(B
$BLdBjH/@8;~$N%G!<%?$r(B/tmp/net/tcp $B$KCV$$$F!"3NG'$7$?$+$C$?$N$G$9$,!"%3%s%Q%$%k%(%i!<$rD6$($i$l$:!"$3$l$^$?0lC6$*<j>e$2$K$J$j$^$7$?!#!#(B

14: #define _PATH_PROCNET_IGMP "/proc/net/igmp"
15: #define _PATH_PROCNET_IGMP6 "/proc/net/igmp6"
16: #define _PATH_PROCNET_TCP "/proc/net/tcp"
17: #define _PATH_PROCNET_TCP6

$B$^$?2?$+$o$+$C$?$iJs9p$5$;$F$$$?$@$-$^$9!#(B

$B0x$_$K!"8D?ME*$K$O!":#2s=i$a$F%=!<%9%3!<%I$r$^$H$b$KFI$s$G$_$k$H$$$&;v$r$7;O$a$?$N$G$9$,!"(B
$B%=!<%9%3!<%I%V%i%&%6(B gonzui $B$rF3F~$7!"FI2r$N8zN($,Hs>o$K$"$,$j$^$7$?!#(B
$B%m!<%+%k$KN)$F$i$l$k$N$GG$0U$N%3!<%I$,%$%s%]!<%H$G$-$k$N$,$h$$$G$9!#(B
http://gonzui.sourceforge.net/

$B%m!<%+%k$KN)$F$k%?%$%W0J30$G$O0J2<$N$h$&$J$b$N$b$"$j$^$9!#(B
http://www.codase.com/index.html
http://gonzui.sourceforge.net/

$B$h$m$7$/$*4j$$$7$^$9!#(B
Post by SUZUKI Yasuhiro
$B:Y$+$$$H$3$G$9$,!#!#(B
Post by taqu
$B$H$J$j!"(Binode$B$NCM$,(B7$B7e$H!"0lHLE*$J(Bint$B$N:GBgCM(B
$B$9!#(B
$B$h$&$K8+$($^$9!#(B
Post by taqu
$B%W%m%0%i%`L>$rJ]B8$7$F$$$k9=B$BN$NDj5A$,(B
netstat.c $B$G!"(B
static struct prg_node {
struct prg_node *next;
int inode; $B"+"+!z!z(B
char name[PROGNAME_WIDTH];
} *prg_hash[PRG_HASH_SIZE];
$B$H$J$C$F$$$^$7$?!#(B
$B%+!<%M%k%=!<%9(B(2.4.28)$B$N(Binclude/linux/fs.h $B$G$O!"(B
struct inode {
...($BN,(B)...
unsigned long i_ino; $B"+"+!z!z(B
$B$H$J$C$F$$$^$9$N$G!"IT2DG=$G$O$J$$$h$&$G$9$,!#(B
$B0J2<$N$h$&$K!"I=<($,$*$+$7$/$J$C$?;~$N(B inode $B$,Id9fIU$-(B 32 bit $B$NHO0O(B
$B$rD6$($F$7$^$C$F$$$k$?$a$K!"Ii$N?t$K$J$C$F$7$^$C$F$$$F$=$N8e$N=hM}$G$*(B
$B$+$7$/$J$C$F$$$k$N$G$O!)$H?dB,$7$^$7$?!#(B
Post by taqu
Inode $B$,=EJ#$7$FI=<($5$l!"%W%m%0%i%`L>$,0z$1$J$+$C$?;~$N(B /proc/net/tcp $B$O0J2<$G$9!#(B
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:1F90 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241091380 1 c5c8f9c0 300 0 0 2 -1
1: 00000000:0015 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 2241448530 1 f75616a0 300 0 0 2 -1
$B0J>eAv$jFI$_$G$9$,!#!#!#(B
$B!<!<!<!<!<!<(B
--
-- nobichan
--
taQu <***@y9.dion.ne.jp>
taqu
2006-06-19 05:51:22 UTC
Permalink
taqu $B$G$9!#(B

$B$3$N7o$G$9$,!"860x$,H=L@$7$^$7$?!#(B
$***@0M}$7$FJs9p$7$^$9!#(B

$B!&LdBj$O0J2<$N(B2$B$D$G$9!#(B
1. netstat -e $B$GI=<($5$l$k(Binode$BCM$,(B duplicate $B$9$k!#(B
2. netstat -p $B$G%W%m%0%i%`L>$,0z$1$J$$!#(B

$B=g$***@bL@$7$^$9!#(B
============================================================
$B"#(B 1. netstat -e $B$GI=<($5$l$k(Binode$BCM$,(B duplicate $B$9$k!#(B
============================================================
inode $B$rI=<($9$k(B

static void finish_this_one(int uid, unsigned long inode, const char *timers)

$B$r8F$s$G$$$k(B tcp_do_one(int lnr, const char *line) $B$,(B /net/proc/tcp $B$+$i(Binode$B$rFI$_(B
$B9~$`=hM}$,$^$:$$;v$,J,$+$j$^$7$?!#(B
$B"((B 14$B$D$a$N(B%ld$B$GFI$_9~$s$G$$$^$9!#(B
----------------------------------------------------$B$3$3$+$i(B
721 num = sscanf(line,
722 "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
723 &d, local_addr, &local_port, rem_addr, &rem_port, &state,
724 &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
----------------------------------------------------$B$3$3$^$G(B

$B0J2<$N$h$&$K%F%9%H$9$k$H!"(B2147483647 $B$rD6$($?$b$N$O(B 2147483647 $B$KE}0l(B(?)$B$5$l$F$7$^$&;v$,J,$+$j$^$9!#(B
netstat -e $B$G$O$3$NCM$,I=<($5$l$F$$$^$7$?!#(B
$BI=<($O(Bfinish_this_one$B$N$J$+$N0J2<$NItJ,$G$9!#(B
533 printf("%-10ld ",inode);

----------------------------------------------------$B$3$3$+$i%F%9%H(B
[***@HOGE root]# cat -n test.c
1 #include <stdio.h>
2 int main(){
3 unsigned long inode;
4
5 printf("\n#### 2147483647 ####\n");
6 char line1[] ="2147483647";
7 printf("Pure value is %s\n",line1);
8 sscanf(line1,"%ld",&inode);
9 printf("After sscanf is %ld\n",inode);
10
11 printf("\n#### 2147483648 ####\n");
12 char line2[] ="2147483648";
13 printf("Pure value is %s\n",line2);
14 sscanf(line2,"%ld",&inode);
15 printf("After sscanf is %ld\n",inode);
16
17 printf("\n#### 2241091380 ####\n");
18 char line3[] ="2241091380";
19 printf("Pure value is %s\n",line3);
20 sscanf(line3,"%ld",&inode);
21 printf("After sscanf is %ld\n",inode);
22 return 0;
23 }
24
[***@HOGE root]# gcc -Wall test.c
[***@HOGE root]# ./a.out

#### 2147483647 ####
Pure value is 2147483647
After sscanf is 2147483647

#### 2147483648 ####
Pure value is 2147483648
After sscanf is 2147483647

#### 2241091380 ####
Pure value is 2241091380
After sscanf is 2147483647
[***@HOGE root]#

----------------------------------------------------$B$3$3$^$G%F%9%H(B

============================================================
$B"#(B 2. netstat -p $B$G%W%m%0%i%`L>$,0z$1$J$$!#(B
============================================================
$B$3$l$b(Btcp_do_one$B$N(Bsscanf$B$,$^$:$$$3$H$K5/0x$7$^$9!#(B
program$BL>$NI=<($O(B finish_this_one $B$NCf$N(B $B0J2<$NItJ,$G!"E}0l$5$l$F$7$^$C$?(B inode = 2147483647 $B$G(B prg_cache_get $B$7$^$9!#(B

535 if (flag_prg)
536 printf("%-" PROGNAME_WIDTHs "s",prg_cache_get(inode));

$BEvA3(B 2147483647 $B$H$$$&%(%s%H%j$O$J$$$N$G!"(B"-"$B$,I=<($5$l$F$$$^$7$?!#(B


275 static const char *prg_cache_get(int inode)
276 {
277 unsigned hi=PRG_HASHIT(inode);
278 struct prg_node *pn;
279
280 for (pn=prg_hash[hi];pn;pn=pn->next)
281 if (pn->inode==inode) return(pn->name);
282 return("-");
283 }


------------------------------------------------------------
$B"#(B $BHw9M(B
------------------------------------------------------------
$B>/$J$/$H$b$3$N%P!<%8%g%s$N(Bnetstat$B$O(Binode$BCM$,(B 2147483647 $B$h$jBg$-$/$J$k;v$rA[Dj$7$F$$$J$$$h$&$G$9!#(B
$B"((B $B0J2<$O$A$c$s$HFI$a$F$k$+$+$J$j2x$7$$$G$9!#!#$9$_$^$;$s!#(B

netstat.c
81 #include <sys/param.h>

$B$N$J$+$G(B include $B$5$l$F$$$k(B limits.h $B$G(B

81 # define INT_MAX 2147483647

$B$HDj5A$5$l$F$*$j!"$3$l$K$h$C$F(B netstat.c $B$N(B inode $BCM$,(B 2147483647 $B$rD6$($?>l9g$O!"(B

static void extract_type_1_socket_inode $B$NCf$G(B inode_p $B$,(B -1 $B$K%;%C%H$5$l$k;v$,J,$+$j$^$7$?!#(B

315: if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
316: *inode_p = -1;

$B$3$l$,(B"-1"$B$G$"$k$H!"(Bprg_cache_load $B$N$J$+$G(B continue $B$5$l$k$N$G!"%-%c%C%7%e$K%m!<%I$b(B add $B$b$5$l$J$$;v$K(B
$B$J$j$^$9!#$G$9$N$G(B sscanf$B$N%U%)!<%^%C%H$r=$@5$9$k$@$1$G$O2r7h$7$J$$(B($B$h$&$J5$$,$7$^$9!#!#!#(B)


389: extract_type_1_socket_inode(lname, &inode);
390:
391: if (inode < 0) extract_type_2_socket_inode(lname, &inode);
392:
393: if (inode < 0) continue;
--
taQu <***@y9.dion.ne.jp>
SUZUKI Yasuhiro
2006-06-19 08:51:30 UTC
Permalink
taqu$B$5$s!"$_$J$5$s!"$3$s$P$s$O!#(B
Post by taqu
1. netstat -e $B$GI=<($5$l$k(Binode$BCM$,(B duplicate $B$9$k!#(B
$B7o$b!"(Bnetstat$B$N%P%0$N$h$&$G$9$M!#(Bsscanf()$B$N%U%)!<%^%C%H(B
$B;XDj$O8+Mn$H$7$F$$$^$7$?!#(B

$B$=$l$K$7$F$b!"4pK\E*$J%D!<%k$,$3$N$h$&$K$$$$2C8:$J(B
$B%=!<%9$G$O:$$C$?$b$N$G$9!#%P%0%l%]!<%H!"$*4j$$$7$^$9!#(B
Post by taqu
taqu$B$5$s(B
taqu $B$G$9!#(B
$B!&LdBj$O0J2<$N(B2$B$D$G$9!#(B
1. netstat -e $B$GI=<($5$l$k(Binode$BCM$,(B duplicate $B$9$k!#(B
2. netstat -p $B$G%W%m%0%i%`L>$,0z$1$J$$!#(B
...($BN,(B)...

$B$=$l$G$O!"<:Ni$$$?$7$^$9!#(B

------------------------------------------------------------
$BNkLZ(B $B9/90(B(SUZUKI Yasuhiro)
***@ysuzuki.net
http://www31.ocn.ne.jp/~yswww/myself/
ISHIKAWA Sachihiro
2006-06-20 02:21:43 UTC
Permalink
$***@P@n$H$$$$$^$9!#(B

$B860x$,8+$($F$-$F$h$+$C$?$G$9!#(B
Post by SUZUKI Yasuhiro
$B$=$l$K$7$F$b!"4pK\E*$J%D!<%k$,$3$N$h$&$K$$$$2C8:$J(B
$B%=!<%9$G$O:$$C$?$b$N$G$9!#%P%0%l%]!<%H!"$*4j$$$7$^$9!#(B
Post by taqu
taqu$B$5$s(B
netstat $B$O(B (RedHat $B7O$G$O(B) net-tools $B$H$$$&%Q%C%1!<%8$KF~$C$F$k$s$G$9$,!"(B
$B%*%j%8%J%k$O$I$3$J$s$G$7$g$&$M!#(B
$B0J2<$N>l=j$K%?!<%\!<%k$O8+$D$1$?$N$G$9$,!"$J$s$+8E$$$G$9!#$^$!$3$&$J$C(B
$B$?$i%G%#%9%H%j%S%e!<%?$,%Q%C%A=P$9$7$+$J$$$G$9$,!"$h$C$]$I6[5^@-$,9b$/(B
$B$J$$$H!"8E$$%P!<%8%g%s$N%G%#%9%H%j%S%e!<%7%g%s$K$O%Q%C%A$O=P$7$F$/$l$J(B
$B$$$@$m$&$J$!!#(B

http://www.tazenda.demon.co.uk/phil/net-tools/

$B$I$3$r$$$8$k$N$,0lHV%7%C%/%j$/$k$N$+$o$+$i$J$$$G$9$,!"(BRHEL4 $B$N:G?7$N%Q%C%1!<%8$G$O>/$J$/$H$b$3$NJU$O$=$N$^$^$G$9$M!#(Bi-node $B$,(B 2 $B%.%,D6$($k$h$&$J(B
$B4D6-$O$^$@9M$($F$J$$$N$+$J!#(B

316 if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
317 *inode_p = -1;

335 if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
336 *inode_p = -1;

# $B$G$b!"(B1 $B%Q!<%F%#%7%g%s$,%F%i%P%$%H$rD6$($k$h$&$J4D6-$,%5%]!<%H$5$l$F(B
# $B$k$s$@$+$i!"$=$m$=$mLdBj$,82:_2=$7$F$b$$$$$h$&$J5$$b$7$^$9$,!#!#!#$I(B
# $B$&$J$k$s$G$7$g$&!#(B
--
-- nobichan
taqu
2006-06-24 06:10:02 UTC
Permalink
Post by SUZUKI Yasuhiro
$B$=$l$K$7$F$b!"4pK\E*$J%D!<%k$,$3$N$h$&$K$$$$2C8:$J(B
$B%=!<%9$G$O:$$C$?$b$N$G$9!#%P%0%l%]!<%H!"$*4j$$$7$^$9!#(B
Post by taqu
taqu$B$5$s(B
$B%P%0%l%]!<%H$G$9$+!#$d$C$?$3$H$J$$$N$G$9$,!";~4V$r$_$F$d$C$F$_$?$$$G$9!#(B

$B?'!9$H$"$j$,$H$&$4$6$$$^$7$?!#(B
--
taQu <***@y9.dion.ne.jp>
Loading...