대부분의 Linux 배포판에서/proc/net/tcp를 읽음으로써 모든 tcp 연결을 나열 할 수 있었지만 솔라리스에는 존재하지 않습니다. Solaris 11에서 tcp 연결을 읽을 수 있습니까?/proc/net/tcp 대체 솔라리스 11
감사합니다.
편집 : 나는 c로 코딩한다는 것을 잊어 버렸다.
대부분의 Linux 배포판에서/proc/net/tcp를 읽음으로써 모든 tcp 연결을 나열 할 수 있었지만 솔라리스에는 존재하지 않습니다. Solaris 11에서 tcp 연결을 읽을 수 있습니까?/proc/net/tcp 대체 솔라리스 11
감사합니다.
편집 : 나는 c로 코딩한다는 것을 잊어 버렸다.
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
, putmsg
및 getmsg
입니다.
그냥 프로세스가 열려있다 소켓 무엇을보고 싶다면 pfiles
같이, 당신은 /proc/PID/fd
을 검사 할 수 있습니다.
나는 그것을 벌써 보았다 단지 나는 단지 무슨 일이 일어나고 있는지, 어떻게 작동 하는지를 알 수 없었습니다. – killercode
정확히 무엇을 하려는지 말하지는 않았지만 자세한 내용을 포함하도록 답변을 업데이트했습니다. – Gabe
https://hg.java.net/hg/solaris~on-src/file/tip/usr/src/cmd/ptools/pfiles/pfiles.c는 (리눅스, 당신이 procfs의 인터페이스 SS 그들을 나열 -t''사용해야합니다 단지 compat 필자 때문에 거기에있다. 그러나 그것은 지금 10 년 이상 동안 과거에 붙이게되었다.) –