netstat 와 같은 데이터 출력

yshkorea의 이미지

netstat 를 구현하기위해
/proc/net/tcp를 뒤졌는데요

 sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode                                                     
   0: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 38921 1 dfbae500 750 0 0 2 -1 

딸랑 한줄 들어있습니다...

그것도 127.0.0.1:631 ==> 0.0.0.0:0 Listen 입니다ㅡ.ㅡ;; 제대로된 데이터가 아니란소린데

실제 netstat 치면

root@XXXXX-desktop:~/src/netstat# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp6       0      0 ip1X0XXX.KKK.ac.kr:ssh  ip1X0XXX.KKK.ac.kr:2723 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  10     [ ]         DGRAM                    14371    /dev/log
unix  2      [ ]         DGRAM                    8251     @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    8422     @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    14553    @/org/freedesktop/hal/udev_event
unix  3      [ ]         STREAM     CONNECTED     42684    
unix  3      [ ]         STREAM     CONNECTED     42683    
unix  3      [ ]         STREAM     CONNECTED     42682    
unix  3      [ ]         STREAM     CONNECTED     42681    
unix  2      [ ]         STREAM     CONNECTED     42438    
unix  3      [ ]         STREAM     CONNECTED     18823    
.
중략
.
unix  3      [ ]         STREAM     CONNECTED     14499    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     14498    
unix  3      [ ]         STREAM     CONNECTED     14488    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     14487    
unix  2      [ ]         DGRAM                    14483    
unix  3      [ ]         STREAM     CONNECTED     14468    
unix  3      [ ]         STREAM     CONNECTED     14467    
unix  2      [ ]         DGRAM                    14444    

이렇게 많은 데이터가 출력되는데 이게다 뭐죠??

게다가 /proc/net/tcp 의 127.0.0.1:631 ==> 0.0.0.0:0 Listen 이란 데이터도 출력이 안됩니다..
저 데이터들 다 어디들어있는거죠??

feanor의 이미지

/proc/net/tcp 에는 당연히 TCP 연결만 있고, 붙여넣으신 netstat 출력 중에서 예를 들어 유닉스 도메인 소켓은 /proc/net/unix 에 있습니다. 파일 형식은 대동소이합니다.

그냥 직접 netstat 소스를 보시는게 매번 KLDP에 질문하는 것보다 빠르지 않을까요?