문제
그것은 단지 캡처를 찾습니다.내가 먼저 패킷을 캡처 다음에 실시간 확인,페이로드를 위해 특정한 데이터 제거,주사하는 서명 및 reinject 패킷 스택으로 보낼 수 있에 전하고 있습니다.
I had read 의 아브 전환 소켓을 사용하여 아브 및 그것은 매우 유망하다.에 대해 무엇의 예에서 수정하여 패킷 및 reinjecting 그들에게로 다시 사용하여 스택 전환 소켓?또한,의 문제로 호기심에,그것은 가능한 데이터를 읽을 소켓에서 Java 를 사용하여하거나 이를 제한하는 나와 함께 포장 엉망으로 reinjecting etc.?
해결책
내가 가고 있었 echo 다른 응답을 권장 iptables(의 복잡성에 따라 모두는 패턴을 시도하고 있는 경기는 패킷을 수정하려면 원하는 만)-까지 나는 주의했 BSD 태그에서 질문입니다.
로 스티븐 Pellicer 이미 언급,사용은 좋은 옵션에 대한 패킷을 캡처하는.내가 믿는 하지만,사용하는 데 사용될 수도 있습 패킷을 전송.참고 확신하건 tcpreplay 그것을 사용하여 재생 pcap 형식의 파일.
다른 팁
보환 sockets: 환 소켓 미니 HOWTO.
그들은 작업에 의해 트래픽을 통과 일치하는 특정 아브 규칙을 특별한 원 socket 할 수 있는 다음 reinject 변경으로 트래픽이 네트워크 레이어입니다.
는 경우에 당신은 패킷을 캡처,사용은 매우 인기가 있습니다.그것의 사용에서와 같은 기본적인 도구를 tcpdump 및 미묘한 입니다.로"후킹 스택으로"지 않는 한,당신은 계획에서 기본적으로 방식을 변경하는 방법으로 네트워킹이 구현한(i.e추가 자신의 계층 또는 변경하거나 동작의 TCP),당신의 아이디어의 사용 IPF 에 대한 패킷 수정 또는 개입 것 같습니다.리눅스에서 그들은 특정 redirection 대상에 대한 유용 모듈,IPF 아마도 비슷한하거나 수정할 수 있습니 IPF 무언가를 하는 유사하다.
는 경우에만 관심을 본 패킷,다음 사용이 갈 방법입니다.당신이 그것을 찾을 수 있습니다: http://www.tcpdump.org/
그것은 가능한 이를 위해서는 사용자와 대 NFQUEUE iptables 대상이 나는 생각한다.클라이언트 응용 프로그램 연결을 대기열을 받는 모든 일치하는 패킷을 수있는 수정을 하기 전에 그들은 다시 주입한(그것도 그들을 놓고 싶은 경우).
가 있는 클라이언트 라이브러리 libnetfilter_queue 필요한 링크입니다.슬프게 설명서 최소이 있지만,일부 메일링 리스트는 게시물 및 예 두드리니다.
성능상의 이유로,당신은 당신을 원하지 않을 것 이를 위해 모든 패킷,하지만 특정 일치하는 것,당신이해야 경기를 사용하여 표준 iptables 규칙이 있습니다.지 않는 경우에는지,충분히 작성해야 하는 당신의 자신의 netfilter 커널 모듈이 있습니다.