패킷을 중간에 가로채서 변조하고 싶습니다.

twinwings의 이미지

리눅스 단말 #1, #2, #3개가 현재 작동하고 있고

#1----#2----#3

이렇게 연결되어있습니다. 이 때, #1이 #3에게 데이터를 보내려면 #2를 거칠 수 밖에 없지요.

이때, #2에서 단순히 패킷을 까보는게 아니라 완전히 제어(변조) 하고 싶습니다.

특정 (IP Header Field의)Protocol에 한정해서 말이죠.

어떻게 해야 할까요? raw 소켓 이용하려니 단순히 패킷을 볼 수만 있고 #3으로 forwarding

되는걸 막을 수 없을 것 같습니다.

선배님들의 많은 도움 바랍니다. (_ _)

PS1.

--+--[route]------[[INPUT CHAIN]]---+--+----------------
  |     |                           |  |
  |     |                           |  | <<APP LAYER>>
  |  [[FORWARDING CHAIN]]           |  |
  |     |                           |  |
--+--[[OUTPUT CHAIN]]---------------+--+----------------

Netfilter 구조가 이럴 때, (특정 프로토콜에 대해서)

모든 패킷을 route에서 무조건 Input Chain으로 가게 할 순 없는건가요?