응용 프로그램을 격리하고 인터넷을 통해 전송되는 패킷 확인


18

나는 이런 종류의 질문이 여기에 적합한 지 확신하지 못하므로 내가 틀렸다면 용서하십시오.

문제가 있습니다 : 특정 프로그램이 인터넷으로 보내는 것이 무엇인지보고 싶습니다.하지만 컴퓨터에는 인터넷을 사용하는 많은 응용 프로그램과 서비스가 있다는 것입니다. 따라서 내가 관심있는 앱에서 보낸 패킷을 파악하는 것은 불가능합니다.

한 가지 방법은 다른 모든 응용 프로그램을 닫으려고하지만 불가능합니다.

특정 응용 프로그램을 격리하는 방법이 있습니까? windows7에서 작업하고 wireshark로 패킷을 캡처 중입니다.

답변:


13

Wireshark를 사용하는 경우 포트 번호가 응용 프로그램 이름으로 자동 확인되지 않으므로 원하는 정보를 수정하기 위해 조금 더 작업을 수행해야합니다. TCP / IP를 사용하여 네트워크를 통해 통신하는 모든 응용 프로그램은 포트를 사용하므로 네트워크 스택에서 세그먼트를 어디로 전달할 것인지 알 수 있습니다 (응용 프로그램 주소라고 함).

특정 포트에서 서버 응용 프로그램에 연결하는 클라이언트는 동적 범위에서 포트 번호를 동적으로 할당합니다. 따라서 먼저 응용 프로그램에서 어떤 TCP / UDP 연결을 열 었는지 확인해야합니다.

netstat -b

명령 행에 연결을 생성 한 실행 파일 이름을 가진 연결 목록이 표시됩니다. 각 실행 파일에는 127.0.0.1:xxxxx로 나열된 하나 이상의 연결이 있습니다. 여기서 X는 연결의 로컬 포트 ​​번호입니다.

이제 wireshark에서는 다음 필터 중 하나 이상을 사용하여 해당 포트에서 시작되었거나 해당 포트로 향하는 패킷을 표시하도록 지시해야합니다.

tcp.port == xxxxx 또는 udp.port == xxxxx

or tcp.port == xxxxx표시하려는 각 연결에 대해 추가 를 추가하십시오 .

이를 통해 응용 프로그램이 연 연결에 대한 모든 트래픽을 볼 수 있으며 Wireshark는 원시 TCP / UDP 세그먼트 만 포함하지 않지만 해당 포트 번호를 사용한 다양한 응용 계층 프로토콜 (예 : HTTP)도 포함합니다.

응용 프로그램이 하나의 서버와 통신하는 것처럼 보이는 경우 해당 서버의 IP 주소를 사용하여 다음을 기준으로 필터링 할 수 있습니다.

ip.addr == x.x.x.x

소켓 (예약되지 않은 포트 사용)의 가장 큰 문제는 응용 프로그램에서 열고 닫는 소켓이 매우 동적이라는 것입니다. netstat -b 명령을 실행하면 5 초 간격으로 실행하더라도 나열된 모든 응용 프로그램에 대해 서로 다른 결과를 제공합니다. 따라서 내 응용 프로그램에 할당되는 모든 포트 번호를 확인하는 것은 매우 어렵습니다. "TCPView"도구 (sysInternals suite)에서 내 응용 프로그램에 대해서도 동일하게 관찰되었습니다. 내 응용 프로그램에서 약 15 초 동안 약 15 개의 TCP 소켓 연결이 열렸고 많은 소켓도 죽임을 알았습니다.
RBT

1
네트워크 통신이 시작된 프로세스를 추적하고 해당 프로세스에서 그룹화 할 수 있기 때문에 Microsoft 네트워크 모니터가 유용합니다. 그러나 이것이 작성된 이후로 Wireshark의 새로운 주요 버전이 릴리스되었습니다. Wireshark를 사용하여 이러한 그룹화가 가능할 수도 있지만 한동안 사용하지는 않았습니다.
john

7

Microsoft의 Process Monitor 를 사용하는 경우 특정 프로세스의 네트워크 통신 만 표시하도록 필터를 변경할 수 있습니다. 패킷의 내용을 제공하지는 않지만 앱이 어떤 호스트와 통신하고 있는지 보여줍니다.


1
? 그는 패킷을보고 싶었다.
Pacerier

1

Microsoft 네트워크 모니터는 트래픽 흐름을 담당하는 프로세스를 보여줍니다.



0

시스템 내부 프로세스 모니터를 사용하여 응용 프로그램 프로세스 번호를 확인하고 다음 위치에서 다른 시스템 내부 도구를 확인하십시오.

https://docs.microsoft.com/en-us/sysinternals/

cmd.exe를 열고 run netstat 명령 줄 옵션 netstat /?를 실행하십시오. .

이제 netstat -bo 1 >> c : /test.log를 시도하십시오. 이를 통해 지속적으로 업데이트되는 파일에서 특정 응용 프로그램 네트워크 연결 데이터를 찾을 수 있습니다.

cmd 창에 ctl-C를 입력하여 netstat -bo >> c : /test.log가 로그에 기록되는 것을 중지해야합니다.


-2

그냥 교체 My_Application응용 프로그램의과 PNAME또는PID

netstat-프로그램 | grep "My_Application"

Windows 7에서는 테스트하지 않지만 Linux에서는 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.