2009-08-16 3 views
2

libpcap은 패킷이 통과 할 때 패킷을 스 니프하지 않고 제거 할 수 있습니까? 각 패킷을 가로 채서 측정 데이터와 함께 새 패킷에 캡슐화하려고하지만 두 패킷 (광산과 원본)이 둘 다 대상에 도달합니다.libpcap으로 패킷 놓기

+0

, 당신은 libpcap의 태그를 추가 할 수 있습니다. – sivabudh

답변

1

이렇게 할 수있는 유일한 방법은 보낸 사람과받는 사람 사이의 유일한 물리적 경로가되고 인터셉터에서 패킷 전달을 끄는 것입니다.

무선 트래픽을 캡처하는 경우 수행 할 수있는 작업이 없습니다. 주변의 전파에서 전파를 제거 할 수있는 소프트웨어 라이브러리는 없습니다.

2

불가능합니다. 네트워킹 스택 필터를 패킷 밖으로 출력 할 드라이버 (운영 체제 용)를 작성해야합니다.

+0

네트워크 스택의 동작을 변경하는 많은 Linux 커널 옵션이 있습니다. 예를 들어,'echo 0>/proc/sys/net/ipv4/ip_forward'는이 호스트로 향하지 않은 패킷의 전달을 끕니다. –

+0

@Ben : 맞습니다. 그러나, 나는 그가 원하는 것을 구현하기 위해 그러한 구성을 사용할 수 있을지 의심 스럽다. –

+0

Linux 커널의 IPTables는 pcakets 삭제에 대한 정보를 얻을 수있는 좋은 장소입니다. –

1

아니요, 아니요, libpcap에서 "패킷을 제거 할 수 없습니다."

달성하려는 목표는 분명하지 않지만 데이터를 받고 추가 정보를 추가하고 다시 게시하려는 것처럼 보입니다. UDP와 같은 데이터 그램 프로토콜로 작업하는 경우에는 증분 된 데이터를 다른 UDP 포트로 간단히 다시 보낼 수 있습니다. 벤 S에 대응

0

, 당신은 공기 떨어져 패킷을 제거 할 수 없습니다,하지만 당신은 그들의 목적지에 도달 그들을 막을 수 있습니다 -

다른 사람이 언급 한 바와 같이
0

, 당신의 libpcap를 사용할 수없는 등 ARP 캐시 중독을 사용합니다. libpcap는 수동 리스너입니다. Linux를 사용하는 경우 iptables에 연결되는 netfilter를 사용할 수 있습니다. 다음은이를 수행하는 방법의 예입니다. 이 질문은 libcap에 대해 때문에

http://www.linuxjournal.com/article/7184