캡처된 패킷을 소유한 프로세스의 pid를 찾아야 합니다.
/proc/net/tcp
and 를 구문 분석하는 데 오랜 시간을 들이지 않고 이 작업을 수행할 수 있는 방법이 있습니까 /proc/<PID>/fd/
? 어쩌면 다른 방법으로 패킷을 스니핑해야 할까요? 패킷을 C의 기본 프로세스와 연결하는 가장 빠른 방법을 찾아야 합니다.
답변1
나는 다른 방법이 없다고 생각하며 /proc/net/*
그것이 바로 그것이고 읽는 /proc/*/fd/
것 같습니다 . 여러 프로세스가 동일한 소켓의 복사본을 가질 수 있으므로 소켓(또는 TCP 포트)에서 프로세스로 고유한 매핑을 갖는 것도 불가능합니다. 그 중 하나만 표시되는 것 같습니다. 물론 모두 나열되어 있습니다. 또한 패킷으로 시작하므로 원시 소켓이 전혀 없을 수도 있습니다. 시스템 외부에서 올 수도 있고 원시/패킷 소켓에서 올 수도 있습니다.lsof
netstat -p
netstat -p
lsof