網絡結構是
ADSL+NAT(2000)+HUB——PC1(10.41.221.6/24)
|--------pc2(10.41.221.254/24)
其中NAT外部IP:219.154.214.150,映射23到PC2的23端口
NAT內部IP為10.41.221.2/24
PC1的網關10.41.221.2,安裝花生殼
PC2提供TELNET服務23端口,沒有在其上安裝花生殼
實驗過程,在PC1上用超級終端連接PC2
1 直接使用IP......................... 可以訪問
2 使用花生殼域名................... 不能訪問
抓到的報文分析:使用域名訪問時,經過NAT后成功的返回了域名對應的IP219.154.214.150,接著PC1發出目標是219.154.214.150/端口23的數據報文,此時內部NAT網卡發出ICMP重定向報文,重定向指向PC2,PC2發出目標是PC1的呼應報文,而PC1沒有接收該報文,因為自己并沒有發送目標為PC2的報文,所以丟棄該報文,PC2也就得不到回答。通訊失敗。以后PC1還有幾次試圖連接域名,但是PC2居然拒絕回任何報文,還不如第一次,好歹有個回應,PC2太癡情了。
這個過程驗證了“如果服務器對A的響應包能夠又返回防火墻的話,那么防火墻就能夠通過狀態表得知這是個響應而將響應包的源地址改成210.140.39.225,那么這個響應包再發回A的時候就是源地址210.140.39.225,目的地址192.168.0.2的響應包了。那么A就完成了和服務器的連接。”
假設:動動網絡結構:所有設備都接HUB。把PC2的網關設置為10.41.221.2,而PC1的IP改為10.41.222.6,也許能實現唐無敵的設想,PC1發出到PC2的請求,可以獲得IP,經過重定向后達到PC2,而PC2并不直接回復PC1,因為不在一個網段,于是發到網關,NAT轉發,而PC1由于同“上級”網關(外網網關)同MAC,于是可以得到報文,于是就建立連接了。