2011-07-27 3 views
3

잃어 버렸습니다. 나는 며칠 동안 웹을 검색해 왔지만 그 답을 찾을 수 없다. 나는 초보자 소켓 프로그래머이지만, 이해하고있다.IP 패킷 보내기

나는 다음과 같은 일을 할 :

  1. 는 (모든 값을 설정, 처음부터) 사용자 정의 패킷을 생성

어느 자바, C++ 또는 C#을 보냅니다. 이 라이브러리를 사용하기가 쉬운가요 아니면 나를 허용 할 수있는 핵심 수업이 있습니까? 나는 이미 자바 라이브러리 jnetpcap을 시도해 보았지만 예제를 실행하고 Eclipse 용 설치 안내서를 따르더라도 오류가 있었다.

도움을 주시면 감사하겠습니다.

참고 : 내가 리눅스에서 윈도우와 소켓 BSD에서 윈속을 사용하여 C++에서 소켓을 사용하고 창

+1

패킷 구조를 설계하는 방법을 알고 싶습니까? 또는 당신은 이미 패킷 구조를 결정했지만 어떻게 구현 해야할지 모르겠다. – Jeeva

+1

당신은 당신의 패킷이 어떻게되어야하는지 'custom'을 지정하지 않지만, 나는 당신이 이것을 원한다고 생각한다. (http://stackoverflow.com/questions/3964013)/how-send-raw-ethernet-packet-with-c). –

+0

@SemVanmeenen 네, 그게 꼭 필요한 것입니다! 나는 여전히 C++보다 Java 또는 C++를 선호합니다. C++ 또는 Java 대안이 있다면 좋을 것입니다. 그렇지 않으면 감사합니다! –

답변

3

jNetPcap는 WinPcap을 기반으로 API를, 그냥은 WinPcap를 설치하고 대체로서 :

작동합니다, 당신은

(C#을 위해) 등 (Java 용) JpcapSharpPcap 같은 다른 라이브러리를 사용하려고 할 수 있습니다
+0

지금은 Jpcap을 시도하고 있지만 다른 서버로 패킷을 보내는 방법을 모르겠습니다. 도와 드릴까요? –

+0

[Project] (http://www.mediafire.com/?lighjmnm4ez)를 보시면 Jpcap을 사용하여 패킷을 보내고 가져 오는 프로젝트입니다. –

+0

패킷이 도착하면 실제로 어떻게 테스트 할 수 있는지 잘 모르겠지만 Jpcap이 나를 위해 일했다고 생각합니다. –

3

을 위해입니다.

은 내가 찾은 최고의 가이드이었다 http://beej.us/guide/bgnet/output/html/multipage/index.html

편집 : Beej의 가이드는 모든 것을 가지고 배경 정보, 간단한 예제, 데이터 패킹과 같은 고급 주제와 약간의 유머를

+0

+1 Beej 's 가이드에는 정말 필요한 모든 것이 있습니다. 당신은 단행본으로 그것을 살 수 있습니다. – Valmond

+0

Beej 's 가이드에는 배경 정보, 간단한 예제, 데이터 패키징 및 유머와 같은 고급 주제가 포함되어 있습니다. – Leon

4
+0

두 가지를 모두 살펴 보았지만 실제로 패킷을 처음부터 만들지는 못합니다. 불분명 한 질문에 대한 미안합니다 –

0

팀,

모든 패킷은 몸과 선택적으로 트레일러 뒤에 고정 길이 헤더를 필요로한다. 고정 길이 헤더에는 패킷 길이 (본문 길이 + 트레일러 길이), 시간 스탬프, 고유 패킷 ID (큰 패킷을 여러 개의 작은 패킷으로 분할하는 데 사용)와 같은 세부 정보가 있어야합니다.

수신기는 항상 고정 길이 헤더를 읽고 패킷 길이를 결정하고 나머지 패킷을 읽습니다. 1 바이트 이름과 같은 세부 사항을 보내기

, ID, 성별 -

헤더 크기 :

당신은 등 간단한 패킷 구조의

예 이름과 같은 모든 변수 길이 요소 전에 크기를 추가 할 필요가

헤더

[8] 1 - // 바이트 크기 (이름 길이 이름 이드 + + + 성)

,

바디

[5] - 1 바이트 // 이름 길이

[Jeeva] - N 바이트

[1000] - 1 바이트 ID

[0] - 1 바이트 성별 (0 - 남성, 1- 여성)

참고 : Endianess에주의해야합니다. 설명을위한 추가 질문을하십시오.

+0

+1과 -1 나를 미소 짓게 해줍니다. –

관련 문제