tcpdump가 iptables가 가로채는 패킷을 캡처하는 이유는 무엇입니까? 이러한 패킷을 필터링하는 방법은 무엇입니까?

tcpdump가 iptables가 가로채는 패킷을 캡처하는 이유는 무엇입니까? 이러한 패킷을 필터링하는 방법은 무엇입니까?

이 명령을 사용하여 SIP 트래픽을 디버깅하고 있습니다.tcpdump -i eth0 -nt port 5060 -v

출력은 다음과 같습니다.

IP (tos 0x0, ttl 113, id 6082, offset 0, flags [none], proto UDP (17), length 504)
    128.90.192.88.56177 > 172.31.78.225.5060: SIP, length: 476
        REGISTER sip:54.84.215.2:5060 SIP/2.0
        To: <sip:[email protected]>
        From: <sip:[email protected]>;tag=e5f4a9461830e4f7a15059
        Via: SIP/2.0/UDP 10.2.38.49:56177;branch=A3DG5FK-d91443-95107561815059-1--d91443-;rport
        Call-ID: e5f4a946183180e4f7a15059
        CSeq: 1 REGISTER
        Contact: <sip:[email protected]:56177>
        Expires: 3600
        Max-Forwards: 70
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
        User-Agent: Samsung OfficeServ
        Content-Length: 0

IP (tos 0x0, ttl 105, id 28245, offset 0, flags [none], proto UDP (17), length 500)
    128.90.59.90.49529 > 172.31.78.225.5060: SIP, length: 472
        REGISTER sip:54.84.215.2:5060 SIP/2.0
        To: <sip:[email protected]>
        From: <sip:[email protected]>;tag=e5f4a933383e4f7a13062
        Via: SIP/2.0/UDP 10.4.0.14:49529;branch=A3DG5FK-d91443-17576214913062-1--d91443-;rport
        Call-ID: e5f4a93338364e4f7a13062
        CSeq: 1 REGISTER
        Contact: <sip:[email protected]:49529>
        Expires: 3600
        Max-Forwards: 70
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
        User-Agent: Samsung OfficeServ
        Content-Length: 0

... etc...

내 서버가 너무 오랫동안 실행되었기 때문에 많은 봇이 이를 발견하고 위와 같이 성가시게 잘못된 요청을 보내고 있습니다.

IP를 차단했는데 tcpdump 128.90.192.88128.90.59.90여전히 트래픽을 캡처하고 있습니다.

root@ip-172-31-78-225:~# iptables -nL | grep 128.90.192.88
DROP       all  --  128.90.192.88        0.0.0.0/0

이러한 패킷을 어떻게 필터링할 수 있나요?내 방화벽(iptables)은 1000개 이상의 IP를 차단하며 그 많은 IP를 사용하여 필터를 구축하고 싶지 않습니다.화이트리스트를 만들 수 있다는 것을 알고 있지만 이러한 패킷을 필터링하고 캡처되는 이유를 이해할 수 있는 방법이 있는지 궁금합니다. 또한 잘못된 요청을 보내는 봇을 차단하기 위해 이 접근 방식을 계속 사용하고 싶습니다. 차단되지 않은 패킷만 분석하여 해당 IP를 차단할지 여부를 결정할 수 있다면 좋을 것입니다.

답변1

죄송합니다. 이 질문은 다른 질문과 중복될 수 있습니다.https://stackoverflow.com/a/57073203/637142

어쨌든 해결책은 다음과 같습니다.


#NFLOG traffic going to port 5060 (both tcp and udp)
iptables -A INPUT -p udp --dport 5060 -j NFLOG
iptables -A INPUT -p tcp --dport 5060 -j NFLOG

# now capure any trific from NFLOG
tcpdump -i nflog -nUlNt -v

관련 정보