2013-07-30 3 views
0

, 그것은 패킷이 소켓을 소유 예를 만든 사용자 또는 그룹을 기반으로 로컬 호스트에 발생하는 필터링 가능 내부 지역 들어오는 TCP 연결을 만든 사용자가 알아 나는 로컬 호스트에서 실행 패킷을 수신, C에 를 작성, 프로그램의보기의 점에서 접근 할 : 나는 어떤 포트에 바인딩, 여기에 새로운 TCP 연결/UDP 패킷을 온다. 누가 그걸 보냈는지 알아내는 방법?응용 프로그램의 리눅스에

답변

1

수 없습니다. 당신은 원격 IP 주소와 포트를 얻습니다. 그게 전부 야.

1

이상한 사용 사례,하지만 이봐,이 같은 아마 뭔가 일할 수있는 -하지만 꽤 아닌가요 :

  1. acceptfstat를 사용하여 전략 중 반환에 대한 inode 번호를 가져옵니다.
  2. 읽기 /proc/self/net/tcp
  3. inode 번호와 일치하는 행을 구문 분석하고 찾습니다.
  4. 해당 행의 uid를 사용하십시오.
+0

은 내가 GID 필요하지만, 이것은 단지 UID를 보여줍니다. "오, 그래, 우리는 bon 're 거리다." 모든 애들이 사용하는 netlink 일은 어때? – user2632999

+0

나는'getpwuid'를 사용하여 그것을 찾을 수 있어야한다고 생각한다. – Jahaja

관련 문제