나는 액세스 포인트로 취급 할 수있는 임베디드 시스템을 가지고 있습니다. 해당 시스템에서 실행되는 프로그램이 있으며 해당 액세스 포인트에 연결된 장치와 네트워크 통신을 수행합니다. 일부 진단 정보 (데이터 구조)를 포함하고 명령을 수신하는 UDP 패킷을 보냅니다. 문제는 해당 발신 데이터 구조의 일부 필드가 데이터로 채워지지 않는 경우입니다 (예 : 0 또는 일부 가비지). 나는 그 필드가 매번 정확하게 채워질 필요가 있으며 어떤 값을 넣어야하는지 알고 있습니다.리눅스에서 응용 프로그램과 네트워크 간의 통신을 도용
내가 수행해야하는 또 다른 작업은이 프로그램에 오는 들어오는 패킷을 필터링하는 것입니다 (어떤 포트가 수신 대기하는지 알고 있습니다.) - 일반적으로 단순히 전달해야하지만 occassionaly (예 : 센서)를 생성하려면 새 패킷으로 완전히 대체해야합니다.
iptables 및 pcap의 몇 가지 현명한 사용법에서부터 내 자신의 커널 모듈 작성에 이르기까지 다양한 아이디어가 있습니다. 필자는 임베디드 응용 프로그램의 소스를 소유하지 않으므로 코드에이 기능을 포함 할 수 없습니다. 공연은 여기서 중요한 부분이며, 나는 당신의 제안을 듣고 싶습니다. 무엇을해야합니까? 내 자신의 커널 모듈을 작성하는 것이 나에게 가장 좋은 해결책 인 것 같지만 네트워크 해킹에 대한 경험이 없기 때문에이 문제에 더 적합한 다른 방법이있을 수 있습니다. 모든 의견을 높게 평가됩니다!
사용하십시오. 그 텍스트 블록은 정말로 읽기가 어렵습니다. – Mat
더 나은가요? :) –
응용 프로그램이 동적으로 또는 정적으로 링크되어 있습니까? 'LD_PRELOAD' 라이브러리를 사용하여 소켓 액세스를 조정할 수 있습니다. – Hasturkun