sk_buff에서 숯 * 버퍼를 수집했습니다 (skb-> head에서 skb_> end로 이동).이 버퍼를 다른 PC로 전송했습니다. 그리고 지금 나는이 패킷을 새로운 PC에서 네트워크로 다시 보내고 싶다. 어떻게 보낼 수 있습니까? dev_queue_xmit()을 사용하여 char * 및 데이터 길이로부터 sk_buff 구조체를 재구성해야했습니다. 것이 가능하다? 아니면 원시 소켓을 사용하여 데이터를 다시 보낼 수 있습니까?커널에서 sk_buff를 사용하여 char * buf로 패킷을 보냅니다.
1
A
답변
0
난 당신이 에sk_buff
, 하지 재구성을 구성 믿습니다. 게다가 나는 char*
을 수집하는 것이 합리적이라고 생각하지 않습니다.
sk_buff
은 별도의 조각으로 구성된 바이트 스트림을 나타 내기 때문에 패킷을 작성할 때 모든 곳으로 복사 할 필요가 없습니다. sk_buff
에서 단일 버퍼를 수집해서는 안되지만 단일 버퍼가있는 경우 새 부분을 sk_buff
으로 채우고 한 부분 만 버퍼를 가리키면 완료됩니다.
관련 문제
- 1. 커널 모듈 내부에서 원시 이더넷 패킷을 보냅니다.
- 2. UDP 패킷을 수신하면 SO_REUSEADDR을 사용할 때 127.0.0.1로 보냅니다.
- 3. char * 유형 문자열에 대해 Linux 커널에서 메모리를 할당하려면 어떻게합니까?
- 4. 유형 필드에 데이터 필드 길이가있는 원시 이더넷 패킷을 보냅니다.
- 5. 소켓을 사용하여 Keep-Alive 패킷을 수동으로 보내기
- 6. 자바를 사용하여 DNS 패킷을 캡쳐
- 7. 파이썬을 사용하여 tcp 패킷을 디코딩
- 8. 커널에서 qdisc를 관리하는 방법
- 9. char 포인터에 char 저장
- 10. SOAP 패킷을 사용하여 웹 서비스 디버깅
- 11. netfilter를 사용하여 패킷을 캡처하는 방법은 무엇입니까?
- 12. libpcap을 사용하여 PPP 패킷을 스니핑하는 방법은 무엇입니까?
- 13. 왜 typedef char CHAR
- 14. char [N] 대 char *
- 15. Char to char *
- 16. 리눅스 커널에서 기존 모듈 수정하기
- 17. CUDA 커널에서 가상 함수 사용
- 18. HTTP 패킷을 결정
- 19. div 요소에서 Nokogiri를 사용하여 div를 내 보냅니다.
- 20. jquery를 사용하여 $ .post를 통해 다차원 배열을 보냅니다.
- 21. FBML을 사용하여 POST 데이터를 페이스 북에 보냅니다.
- 22. 문제는 cron 작업을 사용하여 이메일을 보냅니다.
- 23. Linux 커널에서 inode 가져 오기 커널
- 24. OpenCL 커널에서 __constant qualifer 사용
- 25. 커널에서 커널을 이진 파일로 컴파일
- 26. 리눅스 커널에서 파일에 데이터 추가하기
- 27. 리눅스 커널에서 패킷 생성을위한 튜토리얼
- 28. 커널에서 GRUB 자동 부팅 활성화
- 29. Ninject 커널에서 인스턴스 가져 오기
- 30. CUDA : 커널에서 __device__ 함수 호출
필자는 새로운 측면에서 패킷을 다시 보내야합니다. 그 이유는 데이터 + 헤더를 전송하는 이유입니다. 이제 어떻게 할 수 있습니까? 페이로드 및 헤더에 대해 하나의 버퍼 또는 다른 char * 버퍼가 필요합니까? – SeregASM