iT邦幫忙

0

iptables 的 string 模組

請教板上各位先進
小弟目前想要使用iptables的string模組來阻擋某一IP,(純粹想要測試string模組, 而不使用 -s x.x.x.x)
小弟使用以下的語法來阻擋某一IP, --hex-sting 後面接的是IP的hex
iptables -A INPUT -m string --from 26 --to 31 --algo bm --hex-string '|81BA0555|' -j DROP
在這個過程中, 使用的是由某IP發送至我電腦的ping echo request; 81BA0555 這個IP的hex位於ping封包的27至30 bytes的地方.

但是以上的語法並不成功, 我的電腦還是可以被ping到...直覺上是 --from 還有 --to 這個地方出了問題! 如果不使用 --from --to 的確是可以用string模組成功阻擋某IP, 但是我想減少iptables的工作量, 所以一定得用 --from --to 來限制搜尋區域...
一個典型的ping echo request封包(由windows發出), iptables該如何設定string模組的--from --to 數值才能阻擋呢(根據IP address來判斷)?

還希望各位板上先進可以給予小弟指導

萬分謝謝!!

1 個回答

4
cmwang
iT邦高手 1 級 ‧ 2012-01-13 21:37:26
最佳解答

請用sniffer看一下IP packet,iptables看到的應該是由IP header開始的部份(不包含L2),所以如果是指IPv4的話由下圖看來src address應該是IP header的0x0c開始....

我要發表回答

立即登入回答