各位前輩您好:
有些防火牆或是Revese proxy server會設定只接受網址連線存取網頁,拒絕以IP做連線來存取網頁。假定今天有一台internet的user電腦IP為23.23.23.23,用瀏覽器並輸入網址http://www.aaa.com方式來連線存取網頁,經過DNS解析IP為15.15.15.15,再發出存取網頁的要求給目的地的網頁伺服器。如果今天換成用瀏覽器打上http://15.15.15.15來存取網頁,看起來這兩個封包的來源IP都是23.23.23.23,目的地IP是15.15.15.15來存取網頁,看起來這兩個封包都一樣啊!那目的端的防火牆或是revese proxy該如何辨識如果是網址連入就會允許,用IP連入就會拒絕。這就是小弟非常不解的地方,請各位前輩指導小弟這個運作原理。
希望我的問題太複雜,非常謝謝!
以www.hinet.net為例, IP為202.39.224.7, 以下是封包的前部份, DNS解析並不會改變封包, 因此你會看到Host:之後分別為域名和IP, 這就可以分辨了.
(1)http://www.hinet.net
GET /images/txtadblock_top.gif HTTP/1.1
Host: www.hinet.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://www.hinet.net/
Cookie: track=806952643; HalfYearSN=29351770; HalfYearSNSum=dce52703b3dd457228ffa397ce48061; HalfYearUid=_mbr822198; HalfYearUidSum=6ca46e5d4f140f67f91edaa3f0bd9801; va-dtid=1326223422550; NSC_Q80_xxx.ijofu.ofu=ffffffffaf18dfdfd45525d5f4f52415e445a4a482660
(2)http://202.39.224.7
GET /con-right-1.htm HTTP/1.1
Host: 202.39.224.7
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://202.39.224.7/
Cookie: NSC_Q80_xxx.ijofu.ofu=ffffffffaf18221345525d5f4f58455e445a4a4236dd