일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- openssl
- Android
- albumbook
- css
- OSX
- MYSQL
- MSYS2
- MFA
- SwiftUI
- apple
- OTP
- Nodejs
- git
- SSH
- 앱리소스
- kmip
- appres
- 애플
- 앨범북
- SSL
- FIDO2
- 앱스토어
- Xcode
- SWIFT
- 2FA
- fido
- 인증
- otpkey
- 안드로이드
- WebAuthn
Archives
- Today
- Total
인디노트
tcphdr 에서 data 위치 찾는 C 함수 본문
#include <netinet/tcp.h>
// tcp 헤더 구조체
struct tcphdr {
u_int16_t source; // 송신 포트 번호
u_int16_t dest; // 수신 포트 번호
u_int32_t seq; // 시퀀스 번호
u_int32_t ack_seq; // 확인 응답 번호
u_int16_t doff:4; // 데이터 오프셋
u_int16_t res1:4; // 예약
u_int16_t res2:2; // 예약
u_int16_t urg:1; // 긴급 플래그
u_int16_t ack:1; // 확인 응답 플래그
u_int16_t psh:1; // 전송 제어 플래그
u_int16_t rst:1; // 재설정 플래그
u_int16_t syn:1; // 연결 요청 플래그
u_int16_t fin:1; // 연결 종료 플래그
u_int16_t window; // 윈도우 크기
u_int16_t check; // 체크섬
u_int16_t urg_ptr; // 긴급 포인터
};
// TCP 헤더를 받아 데이터 위치를 반환하는 함수
char *get_tcp_data(struct tcphdr *tcp_header, char *packet) {
// 데이터 오프셋 값으로부터 데이터의 시작 위치를 계산
int data_offset = tcp_header->doff * 4;
char *data = packet + data_offset;
// 반환
return data;
}
반응형
'개발 플랫폼 및 언어 > 네트워크 기술' 카테고리의 다른 글
TCP 헤더의 Checksum 값을 계산하는 공식 (0) | 2023.04.17 |
---|---|
문자열로 된 ip4 주소를 unsigned char 형식으로 변환하는 C 코드 (0) | 2023.04.16 |
linux 에서 C 로 대기하고 있다가 시그널을 발생하여 다른 함수에서 시그널을 보내면 깨어나서 함수를 실행하는 C 코드 (0) | 2023.04.15 |
icmp 를 전송한 후 응답을 받아서 해당 응답이 어떤 전송건인지 확인하는 C 코드 (0) | 2023.04.14 |
iphdr 의 송신자주소 및 수신자 주소를 변경하는 C 함수 (0) | 2023.04.14 |
Comments