다양한 응용 프로그램에서 네트워크로 보내고받은 바이트 수를 계산해야합니다. 처음에는 LSP 사용에 대해 생각했지만 LSP를 전혀 사용하지 않는 응용 프로그램 (예 : SMB)이 많이 있습니다. 이것이 내가 작은 스니퍼를 쓴 이유입니다. 이 응용 프로그램은 IP 수준에서 작동하며 recvfrom을 사용하여 데이터를 수집합니다.Windows의 소켓 번호에있는 PID?
그래서 원격 호스트, 로컬 및 원격 포트 주소가 있습니다. 이것은 꽤 멋지지만, 또한 로컬 소켓 소유자의 PID를 가져야합니다. 그래서, 그러한 PID를 얻을 수있는 간단한 방법이 있습니까? 해결 방법은 GetTcpTable, GetUdpTable 또는 AllocateAndGetUdpExTableFromStack 및 AllocateAndGetTcpExTableFromStack을 사용하고 ... 그래서
및 결과 테이블을 조회하는 (이 2K, XP, XP SP2와 비스타 사이의 이러한 기능의 차이의 많은입니다)하지만 우아하고 비효율적 인 것 같습니다 어떤 종류의 "GetPIDOfSocket"함수가 있습니까? 다양한 언어 (예 : C++, Delphi)를 사용할 수 있으므로 WinAPI (.net)에서만 해결할 수 있습니다.
최근에 가입 한 것처럼 보였으므로 힌트를 주어도됩니다. 일반적으로 사용중인 프로그래밍 언어를 제공하는 것이 좋습니다. 아직 채울 빈 태그 슬롯이 하나 있습니다. :) –