2011-02-16 6 views
0

나는 실행중인 응용 프로그램 중 일부가 패킷을 송수신 할 때 동일한 포트 번호를 사용하는 응용 프로그램마다 네트워크 트래픽을 캡처하는 Windows 기반 응용 프로그램을 만들어야합니다. winpcap을 사용하여 성공적으로 캡처하고 포트 현명하고 목적지를 현명하게 필터링했지만 IP 패킷에서 응용 프로그램 정보를 알 수있는 방법을 의미하는 응용 프로그램을 현명하게 캡처하는 방법을 모릅니다. winpcap 만 문제를 해결할 수 있습니까, 아니면 다른 API 나 라이브러리를 사용할 수 있습니까? 패킷 헤더에서 패킷이 생성 된 응용 프로그램 정보를 얻을 수 있습니까?winpcap을 사용하여 현명한 네트워크 트래픽 응용 프로그램을 캡처하는 방법은 무엇입니까?

** 

는 사람이 나에게 응용 프로그램에 따라 네트워크 트래픽을 캡처 VC++에서 IPHLPAPI과은 WinPcap을 사용하는 예를 제공 할 수 있습니다.

**

답변

1

나는 이것이 winpcap에서 가능하지 않다고 생각합니다.

Windows Filtering Platform을 살펴보십시오. 전혀 발전하지 않았습니다. 샘플을 보면 원하는대로 정확하게 샘플을 찾을 수 있습니다.

+0

winpcap을 사용하여 프로세스 네트워크 트래픽에 iphlpapi를 사용할 수 있습니까? 그렇다면 vC++의 예제를 보자. 나는 네트워킹과 VC++ 모두에 새로운 것이므로 – Rockford

+0

네트워크 정체성을 얻기 위해 TCPTable을 사용하고 프로세스 ID를 얻기 위해 winpcap을 사용하여 캡처 한 패킷의 헤더를 비교했다. – Rockford

0

winpcap에는 어떤 프로세스가 어떤 데이터를 보내고 있는지 알 수있는 좋은 방법이 없습니다. 하지만 창은 않습니다. 포트 터미널에서 사용되고 있는지를 알려주는 프로그램을

netstat -a -o 

NETSTAT입니다 사용해보십시오. 스위치는 "모든 포트 표시"라고 말합니다. -o 스위치는 "이 포트를 사용하는 프로세스의 PID 표시"

프로세스가 전송하는 포트를 볼 수는 없지만 udp 패킷에 대해 어떤 포트가 수신 중인지 확인할 수 있습니다.

tcp 패킷의 경우 원격 연결 IP 주소를 포함하여 원하는 정보를 모두 볼 수 있습니다.