2010-02-22 5 views
2

나는 당신이 모던 워 페어 2 (호스트 인 경우)에서 사기꾼을 괴롭히는 방법으로 놀고 있습니다. 필자는 winpcap을 사용하여 플레이어 이름과 IP를 식별하기 위해 패키지를 스니핑 할 수있었습니다..Net (C#)으로 코딩하여 컴퓨터의 IP를 차단하십시오.

모든 트래픽을 차단하는 방법이 필요합니다. 또는 대상 IP가 내 컴퓨터로 전송되는 UDP 트래픽을 차단해야합니다. 따라서 플레이어는 타임 아웃/지연 시간을 갖습니다.

누구나 쉽게이 작업을 수행 할 수있는 라이브러리를 알고 있습니까? 이 어려운 일을하고 Windows DDK를 설치하고 C++에서 낮은 수준의 NDIS 드라이버를 만들 수 있습니다. 그러나 C++에서 녹슬지 않으며 모든 일반적인 컴파일 문제는 템플릿 코드를 컴파일 할 때 발생합니다. 이것에 대한 준비된 코딩 된 라이브러리.

어쩌면 누군가가 더 좋은 아이디어를 가지고 있을까요?

해결 방법 : Windows 방화벽을 사용하십시오. 실시간으로 규칙을 만들고 제거하는 쉬운 API. Any way to turn the "internet off" in windows using c#?

그리고 이제는이를 수행하는 테스트 프로그램이 작동합니다. 나는 게임에서 2 명을 쫓아 냈다.

+0

플레이어가 인터넷 프록시 뒤에있는 경우 동일한 프록시 서버에있는 모든 사람의 모든 트래픽을 차단합니다. –

+0

참. 그러나이 게임이 모든 사람에게 프록시 (호스트)를하지 않아야하기 때문에이 문제에 대한 확률은 매우 적습니다. 그런 일이 발생한다면, 사기꾼은 친구와 함께 노는 것일 수도 있습니다. 그리고 나서 둘 다 가야합니다. 오. 포트로도 차단할 수있는 경우 일반 IP 뒤에 1 인을 추가 할 수 있습니다. – Wolf5

답변

1

방화벽을 실행하고 있습니까? 어쩌면 방화벽의 API를 사용하여 문제가되는 호스트의 연결 요청을 거부 할 수 있습니다. 예를 들어 "Windows Firewall with Advanced Security" API은 대다수의 PC에서 사용할 수 있습니다.

+0

어쩌면 친구끼리 배포하는 것을 생각하고 있었기 때문에 주로 배포 할 수있는 (또는 OS를 다시 설치하면 다시 설치할 수있는) 것이 좋습니다. 내가 일할 다른 것을 얻을 수 없다면, 당신이 말하는 것은 갈 길이 될 것입니다. 하지만 바로 사용할 수있는 API가있는 방화벽은 무엇입니까? – Wolf5

+0

Windows 방화벽 – Wolf5

0

Windows 호스트 파일에 해당 IP에 대해 유효하지 않은 항목을 넣을 수 있어야합니다. 몇 가지 C# 코드가 사용 가능합니다.

This place은 IPSec을 사용하여 IP 주소를 필터링하는 방법에 대해 설명합니다. 그것은 매우 수동입니다. 로컬 보안 설정/IP 보안 정책에서

  1. 새로운 IP 필터 목록을 만듭니다
  2. 소스 IP 내 IP 주소
  3. (이 예에서는)
  4. 목적지 129.74.250.101는 다음과 같습니다 과정입니다 (nd.edu)
  5. 프로토콜은
  6. 새로운 IP 보안 정책 만들기 인 I를 추가
  7. (에서 Kerberos 5 인증을 사용) P 보안 규칙 (이 규칙은 터널이 아닙니다) (모든 네트워크 연결)
  8. 방금 ​​만든 새 IP 필터 목록을 추가하십시오. 당신은 C#으로, 당신은 승자가있어 그렇게하는 방법을 알아낼 수 있다면
  9. 이 새 정책

지정 (보안이 필요).

+0

OP는 들어오는 요청을 차단하려고합니다. hosts 파일을 편집하면됩니까? 나는 그것이 나가는 트래픽에만 영향을 미쳤다고 생각했다. – ChrisF

+0

@ChrisF : 중요합니까?컴퓨터가 정보를 다시 보낼 수 없으면 연결이 끊어집니다. 그들의 컴퓨터는 게임에서 어떤 포지션이나 상태 정보를 얻을 수 없기 때문에 속일 수는 없습니다. –

+0

@Scott - 사실이지만 들어오는 요청의 오버 헤드를 원하지 않을 수도 있습니다. BTW 나는 투표하지 않았다, 나는 당신이 당신의 제안으로 어디에서 왔는지 이해하려고 애를 썼다. – ChrisF

관련 문제