Iptables는 특정 위치의 문자열에 대한 HTTP 302 패킷을 제거합니다.

Iptables는 특정 위치의 문자열에 대한 HTTP 302 패킷을 제거합니다.

차단하려는 HTTP 302 패킷은 다음과 같습니다.

Header

HTTP/1.0 302 Moved Temporarily
Location: http://172.16.0.5/[***]
Content-Type: text/html;
Content-Length: 0
Connection: Close

"를 일치시켜 이 패키지를 모두 제거하고 싶습니다.http://172.16.0.5/"내 OpenWRT 라우터에서요.

지금 나는 -m string --algo bm --string "HTTP/1.1 302 "사용하고 있어요https://unix.stackexchange.com/a/229967/38666302개의 패킷을 모두 차단하려면 어떻게 해야 합니까?http://172.16.0.5/" 오직?

답변1

패킷이 172.16.0.5에서 오는 경우 다음을 사용할 수 있습니다.

-m string --algo bm --string "HTTP/1.1 302 " --source 172.16.0.5 

그렇지 않으면 문자열 일치를 다시 사용하십시오.

-m string --algo bm --string "HTTP/1.1 302 " -m string --algo bm --string "172.16.0.5"

또한 bm 알고리즘이 일부 패킷을 잃을 수 있다는 것을 경험했기 때문에 "bm" 대신 "--algo kmp"를 사용하는 것이 좋습니다.

또한 성능이 필요한 경우 문자열 일치 규칙은 비용이 많이 든다는 점을 잊지 마십시오.

관련 정보