컴퓨터에서 나가는 모든 연결을 기록합니다.

컴퓨터에서 나가는 모든 연결을 기록합니다.

나는 내 PC의 어떤 응용 프로그램이 인터넷으로 전송되는지에 정말 관심이 있습니다. 모든(!) 발신 데이터(콘텐츠 포함 - 해당 연결을 사용하여 전송된 내용)를 기록할 수 있는 방법이 있습니까? 이상적으로 이러한 기록은 내 쪽에서 사용하는 포트, 가리키는 IP:포트, 연결이 열리고 닫히는 시간, 보내는 내용 등을 포함하는 데이터베이스/파일에 저장됩니다. 가능합니까(그리고 신뢰할 수 있습니까)?

저는 Windows 8.1을 실행하고 있으며 무선 라우터에 액세스할 수 있습니다.


편집: 로그가 사용자에게 더욱 친숙할 필요는 없습니다. 저는 프로그래머입니다.

답변1

정말로 로그인하고 싶다면모두트래픽에는 루트킷이나 외부에서 수행해야 하는 기타 악의적인 프로그램을 통해 숨겨질 수 있는 트래픽이 포함됩니다. Wi-Fi 라우터에 openwrt 또는 토마토와 같은 대체 펌웨어가 있는 경우 해당 펌웨어에서 tcpdump를 실행하고 결과를 다시 컴퓨터나 다른 컴퓨터로 전달할 수 있습니다. 펌웨어에 따라 CIFS 또는 Samba와 같은 파일 공유를 사용할 수 있습니다.

tcpdump -i eth0 -s 2000 -w 출력파일

또는

tcpdump -i eth0 -s 2000 -A

참고: 서핑 습관에 따라 GB 또는 TB의 로그가 쉽게 생성될 수 있습니다.

2개의 NIC가 있는 방화벽 역할을 하도록 PC를 설정하고 여러 장치를 가질 수 있도록 내부 네트워크에 스위치를 배치했습니다. 인터넷의 특성상 약간 의심스러운 트래픽을 기록해도 방대한 로그 파일이 생성됩니다.

당신은 프로그래머이기 때문에 libpcap과 libmysql을 활용하여 mysql 데이터베이스에 직접 로그인하는 프로그램을 작성할 수 있습니다.

의심스러운 트래픽을 모니터링하는 또 다른 프로그램은흡입

관련 정보