2012-04-16 66 views
2

我從http://source.android.com/source/building-kernels.htmliptables的1.4.11 Android上

下載Android的內核源代碼我已經然後就開始模擬器,並希望與iptable的規則玩,但我得到這個下面的錯誤。 iptable包是否完全安裝?爲什麼NA​​T表丟失?

最初我開始跟着http://randomizedsort.blogspot.de/2011/03/porting-iptables-1410-to-android.html#comment-form_8482839589527760177安裝iptables,但在adb shell上看到iptablesv1.4.11.1,我放棄了這個想法。有沒有人試圖在新的android內核源碼上移植iptables?

adb shell 
# su root 

# iptables -t nat -A OUTPUT -p tcp --dport 8000 -j REDIRECT --to-port 8080 

FIX ME! implement getprotobyname() bionic/libc/bionic/stubs.c:450 
iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) 
Perhaps iptables or your kernel needs to be upgraded. 

請指教!

+1

爲實際的錯誤是隱藏在下面的未修剪無關不佳的說明。在(http://stackoverflow.com/questions/10331699/getprotobyname-error-iptables)上有更清晰的聲明,但是即使該問題不應該作爲問題發佈,因爲它在網上搜索問題 – 2012-04-27 15:21:09

+0

所涵蓋的問題您好,我有甚至現在與Android 4.2一樣的問題。你找到了解決方案嗎? – Hong 2016-03-19 12:36:27

回答

1

使用協議號(-p 6),而不是名稱(-p tcp):

iptables -t nat -A OUTPUT -p 6 --dport 8000 -j REDIRECT --to-port 8080

看到這個答案的詳細信息: getprotobyname error iptables