2012-01-04 5 views
1

대부분의 Linux 배포판에서/proc/net/tcp를 읽음으로써 모든 tcp 연결을 나열 할 수 있었지만 솔라리스에는 존재하지 않습니다. Solaris 11에서 tcp 연결을 읽을 수 있습니까?/proc/net/tcp 대체 솔라리스 11

감사합니다.

편집 : 나는 c로 코딩한다는 것을 잊어 버렸다.

+1

https://hg.java.net/hg/solaris~on-src/file/tip/usr/src/cmd/ptools/pfiles/pfiles.c는 (리눅스, 당신이 procfs의 인터페이스 SS 그들을 나열 -t''사용해야합니다 단지 compat 필자 때문에 거기에있다. 그러나 그것은 지금 10 년 이상 동안 과거에 붙이게되었다.) –

답변

0

당신은 netstat -an 또는

+0

나는 나의 자신의 코드를 쓰고있다, 내가 didnt하는 만일을 유감스럽게 생각하면 질문에서 그것을 구체화한다 – killercode

4

pcp 당신이 netstat를 다시 작성하려는 경우 사용해야 하나, 나는 그것을 위해 소스 코드를 찾고 제안 : https://hg.java.net/hg/solaris~on-src/file/tip/usr/src/cmd/cmd-inet/usr.bin/netstat/netstat.c

중요한 부분은 /dev/arp을 열고 밀어하는 mibopen 있습니다 tcp STREAMS 모듈이 있고 실제로 연결 정보를 요청하는 mibget이 있습니다. 코드는 약간 복잡하므로 디버거에서 코드를 단계별로 실행하여 작동 원리를 이해하는 것이 좋습니다. 주요 시스템 호출은 open, ioctl, putmsggetmsg입니다.

그냥 프로세스가 열려있다 소켓 무엇을보고 싶다면 pfiles 같이, 당신은 /proc/PID/fd을 검사 할 수 있습니다.

+0

나는 그것을 벌써 보았다 단지 나는 단지 무슨 일이 일어나고 있는지, 어떻게 작동 하는지를 알 수 없었습니다. – killercode

+0

정확히 무엇을 하려는지 말하지는 않았지만 자세한 내용을 포함하도록 답변을 업데이트했습니다. – Gabe