0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
阅读:1010回复:5

[求助]关于web程序如何取得客户端IP的问题

楼主#
更多 发布于:2004-06-11 10:37
WEB程序可以通过内置的函数(不知道可不可以这么说)来取得客户端的IP地址(不考虑代理的情况)

比如在ASP中就可以这样: Request.ServerVariables("REMOTE_ADDR")

通常是通过HTTP报头来得到的信息(好像是吧,不是很清楚)

但是我在网络嗅探时却没有找到有关报头的相关信息,不管是刷新页面还是打开页面或是打开页面的链接

打开位于[a]http://bjzttz.go.nease.net/addtest.htm[/a]的页面,其中只有一个测试用的banner广告

嗅探抓包如下:(为避免篇幅过长,这里只列出与广告商的服务器有关的嗅探结果)
(使用IRIS V3.1)
80端口:

GET /ads2000_click2.php3?userid=11441 HTTP/1.1
Accept: */*
Referer: http://bjzttz.go.nease.net/addtest.htm
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)
Host: www.ads8.com
Connection: Keep-Alive

HTTP/1.1 200 OK
Date: Fri, 11 Jun 2004 01:56:44 GMT
Server: Microsoft-IIS/5.0 PHP/4.3.4
X-Powered-By: PHP/4.3.4
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

1e2
document.write('');

0

GET /photo/g8.gif HTTP/1.1
Accept: */*
Referer: http://bjzttz.go.nease.net/addtest.htm
Accept-Language: en-us
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 18 Mar 2004 16:13:48 GMT
If-None-Match: "3624f4-60c0-4059cabc"
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)
Host: www.ads8.com
Connection: Keep-Alive

HTTP/1.1 304 Not Modified
Date: Fri, 11 Jun 2004 01:56:48 GMT
Server: Microsoft-IIS/5.0 PHP/4.3.4
Connection: Keep-Alive
Keep-Alive: timeout=5, max=99
ETag: "3624f4-60c0-4059cabc"

对应数据包显示:

202.112.226.126->202.96.140.122
Time 09:48:44:921
0000: 00 0C CF 32 DC 00 00 0B 6A 31 DF 84 08 00 45 00 ...2....j1....E.
0010: 00 30 2A 76 40 00 80 06 CC 87 CA 70 E2 7E CA 60 .0*[email protected]...`
0020: 8C 7A 04 E5 00 50 67 51 4D 2D 00 00 00 00 70 02 .z...PgQM-....p.
0030: FA F0 CA B0 00 00 02 04 05 B4 01 01 04 02       ..............

202.96.140.122->202.112.226.126
Time 09:48:45:578
0000: 00 0B 6A 31 DF 84 00 0C CF 32 DC 00 08 00 45 00 ..j1.....2....E.
0010: 00 30 00 00 00 00 30 06 86 FE CA 60 8C 7A CA 70 .0....0....`.z.p
0020: E2 7E 00 50 04 E5 55 1E 66 53 67 51 4D 2E 70 12 ...P..U.fSgQM.p.
0030: 16 D0 F3 4E 00 00 02 04 05 B4 01 01 04 02       ...N..........

202.112.226.126->202.96.140.122
Time 09:48:45:578
0000: 00 0C CF 32 DC 00 00 0B 6A 31 DF 84 08 00 45 00 ...2....j1....E.
0010: 01 43 2A 7F 40 00 80 06 CB 6B CA 70 E2 7E CA 60 .C*[email protected]...`
0020: 8C 7A 04 E5 00 50 67 51 4D 2E 55 1E 66 54 50 18 .z...PgQM.U.fTP.
0030: FA F0 0B 6D 00 00 47 45 54 20 2F 61 64 73 32 30 ...m..GET /ads20
0040: 30 30 5F 63 6C 69 63 6B 32 2E 70 68 70 33 3F 75 00_click2.php3?u
0050: 73 65 72 69 64 3D 31 31 34 34 31 20 48 54 54 50 serid=11441 HTTP
0060: 2F 31 2E 31 0D 0A 41 63 63 65 70 74 3A 20 2A 2F /1.1..Accept: */
0070: 2A 0D 0A 52 65 66 65 72 65 72 3A 20 68 74 74 70 *..Referer: http
0080: 3A 2F 2F 62 6A 7A 74 74 7A 2E 67 6F 2E 6E 65 61 ://bjzttz.go.nea
0090: 73 65 2E 6E 65 74 2F 61 64 64 74 65 73 74 2E 68 se.net/addtest.h
00A0: 74 6D 0D 0A 41 63 63 65 70 74 2D 4C 61 6E 67 75 tm..Accept-Langu
00B0: 61 67 65 3A 20 65 6E 2D 75 73 0D 0A 41 63 63 65 age: en-us..Acce
00C0: 70 74 2D 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 pt-Encoding: gzi
00D0: 70 2C 20 64 65 66 6C 61 74 65 0D 0A 55 73 65 72 p, deflate..User
00E0: 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F -Agent: Mozilla/
00F0: 34 2E 30 20 28 63 6F 6D 70 61 74 69 62 6C 65 3B 4.0 (compatible;
0100: 20 4D 53 49 45 20 36 2E 30 3B 20 57 69 6E 64 6F  MSIE 6.0; Windo
0110: 77 73 20 4E 54 20 35 2E 31 3B 20 4D 79 49 45 32 ws NT 5.1; MyIE2
0120: 29 0D 0A 48 6F 73 74 3A 20 77 77 77 2E 61 64 73 )..Host: www.ads
0130: 38 2E 63 6F 6D 0D 0A 43 6F 6E 6E 65 63 74 69 6F 8.com..Connectio
0140: 6E 3A 20 4B 65 65 70 2D 41 6C 69 76 65 0D 0A 0D n: Keep-Alive...
0150: 0A                                              .

202.112.226.126->202.96.140.122
Time 09:48:45:578
0000: 00 0C CF 32 DC 00 00 0B 6A 31 DF 84 08 00 45 00 ...2....j1....E.
0010: 00 28 2A 7E 40 00 80 06 CC 87 CA 70 E2 7E CA 60 .(*[email protected]...`
0020: 8C 7A 04 E5 00 50 67 51 4D 2E 55 1E 66 54 50 10 .z...PgQM.U.fTP.
0030: FA F0 3B F2 00 00                               ..;...

202.96.140.122->202.112.226.126
Time 09:48:46:250
0000: 00 0B 6A 31 DF 84 00 0C CF 32 DC 00 08 00 45 00 ..j1.....2....E.
0010: 02 FA 42 C4 00 00 30 06 41 70 CA 60 8C 7A CA 70 ..B...0.Ap.`.z.p
0020: E2 7E 00 50 04 E5 55 1E 66 54 67 51 4E 49 50 18 ...P..U.fTgQNIP.
0030: 19 20 9E AD 00 00 48 54 54 50 2F 31 2E 31 20 32 . ....HTTP/1.1 2
0040: 30 30 20 4F 4B 0D 0A 44 61 74 65 3A 20 46 72 69 00 OK..Date: Fri
0050: 2C 20 31 31 20 4A 75 6E 20 32 30 30 34 20 30 32 , 11 Jun 2004 02
0060: 3A 30 31 3A 35 37 20 47 4D 54 0D 0A 53 65 72 76 :01:57 GMT..Serv
0070: 65 72 3A 20 4D 69 63 72 6F 73 6F 66 74 2D 49 49 er: Microsoft-II
0080: 53 2F 35 2E 30 20 50 48 50 2F 34 2E 33 2E 34 0D S/5.0 PHP/4.3.4.
0090: 0A 58 2D 50 6F 77 65 72 65 64 2D 42 79 3A 20 50 .X-Powered-By: P
00A0: 48 50 2F 34 2E 33 2E 34 0D 0A 4B 65 65 70 2D 41 HP/4.3.4..Keep-A
00B0: 6C 69 76 65 3A 20 74 69 6D 65 6F 75 74 3D 35 2C live: timeout=5,
00C0: 20 6D 61 78 3D 31 30 30 0D 0A 43 6F 6E 6E 65 63  max=100..Connec
00D0: 74 69 6F 6E 3A 20 4B 65 65 70 2D 41 6C 69 76 65 tion: Keep-Alive
00E0: 0D 0A 54 72 61 6E 73 66 65 72 2D 45 6E 63 6F 64 ..Transfer-Encod
00F0: 69 6E 67 3A 20 63 68 75 6E 6B 65 64 0D 0A 43 6F ing: chunked..Co
0100: 6E 74 65 6E 74 2D 54 79 70 65 3A 20 74 65 78 74 ntent-Type: text
0110: 2F 68 74 6D 6C 0D 0A 0D 0A 31 65 33 0D 0A 64 6F /html....1e3..do
0120: 63 75 6D 65 6E 74 2E 77 72 69 74 65 28 27 3C 64 cument.write('.d
0130: 69 76 20 61 6C 69 67 6E 3D 63 65 6E 74 65 72 3E iv align=center.
0140: 3C 63 65 6E 74 65 72 3E 3C 74 61 62 6C 65 20 62 .center..table b
0150: 6F 72 64 65 72 3D 30 20 63 65 6C 6C 73 70 61 63 order=0 cellspac
0160: 69 6E 67 3D 30 20 63 65 6C 6C 70 61 64 64 69 6E ing=0 cellpaddin
0170: 67 3D 30 3E 3C 74 72 3E 3C 74 64 3E 3C 61 20 68 g=0..tr..td..a h
0180: 72 65 66 3D 68 74 74 70 3A 2F 2F 77 77 77 2E 61 ref=http://www.a
0190: 64 73 38 2E 63 6F 6D 3A 38 33 2F 61 64 73 32 30 ds8.com:83/ads20
01A0: 30 30 5F 63 6C 69 63 6B 5F 67 6F 32 2E 70 68 70 00_click_go2.php
01B0: 33 3F 6F 63 70 5F 6A 6F 62 3D 6F 63 70 5F 63 6C 3?ocp_job=ocp_cl
01C0: 69 63 6B 26 75 72 6C 3D 68 74 74 70 3A 2F 2F 77 ick&url=http://w
01D0: 77 77 2E 61 64 73 38 2E 63 6F 6D 2F 70 6F 70 2F ww.ads8.com/pop/
01E0: 74 61 6E 2F 64 65 66 61 75 6C 74 2E 68 74 6D 26 tan/default.htm&
01F0: 75 73 65 72 69 64 3D 31 31 34 34 31 20 74 61 72 userid=11441 tar
0200: 67 65 74 3D 5F 62 6C 61 6E 6B 3E 3C 69 6D 67 20 get=_blank..img
0210: 73 72 63 3D 68 74 74 70 3A 2F 2F 77 77 77 2E 61 src=http://www.a
0220: 64 73 38 2E 63 6F 6D 2F 70 68 6F 74 6F 2F 67 31 ds8.com/photo/g1
0230: 30 2E 67 69 66 20 77 69 64 74 68 3D 34 36 38 20 0.gif width=468
0240: 68 65 69 67 68 74 3D 36 30 20 62 6F 72 64 65 72 height=60 border
0250: 3D 30 3E 3C 2F 61 3E 3C 2F 74 64 3E 3C 74 64 3E =0../a../td..td.
0260: 3C 61 20 68 72 65 66 3D 68 74 74 70 3A 2F 2F 77 .a href=http://w
0270: 77 77 2E 61 64 73 38 2E 63 6F 6D 2F 20 74 61 72 ww.ads8.com/ tar
0280: 67 65 74 3D 5F 62 6C 61 6E 6B 3E 3C 69 6D 67 20 get=_blank..img
0290: 62 6F 72 64 65 72 3D 30 20 73 72 63 3D 68 74 74 border=0 src=htt
02A0: 70 3A 2F 2F 77 77 77 2E 61 64 73 38 2E 63 6F 6D p://www.ads8.com
02B0: 3A 38 32 2F 62 61 6E 6E 65 72 72 69 67 68 74 2E :82/bannerright.
02C0: 67 69 66 20 77 69 64 74 68 3D 32 30 20 68 65 69 gif width=20 hei
02D0: 67 68 74 3D 36 30 3E 3C 2F 61 3E 3C 2F 74 64 3E ght=60../a../td.
02E0: 3C 2F 74 72 3E 3C 2F 74 61 62 6C 65 3E 3C 2F 63 ./tr../table../c
02F0: 65 6E 74 65 72 3E 3C 2F 64 69 76 3E 27 29 3B 0D enter../div.');.
0300: 0A 0D 0A 30 0D 0A 0D 0A                         ...0....

202.96.140.122->202.112.226.126
Time 09:48:46:234
0000: 00 0B 6A 31 DF 84 00 0C CF 32 DC 00 08 00 45 00 ..j1.....2....E.
0010: 00 28 42 C3 00 00 30 06 44 43 CA 60 8C 7A CA 70 .(B...0.DC.`.z.p
0020: E2 7E 00 50 04 E5 55 1E 66 54 67 51 4E 49 50 10 ...P..U.fTgQNIP.
0030: 19 20 1C A8 00 00 00 00 00 00 00 00             . ..........

202.112.226.126->202.96.140.122
Time 09:48:46:359
0000: 00 0C CF 32 DC 00 00 0B 6A 31 DF 84 08 00 45 00 ...2....j1....E.
0010: 00 28 2A 8A 40 00 80 06 CC 7B CA 70 E2 7E CA 60 .(*.@....{.p...`
0020: 8C 7A 04 E5 00 50 67 51 4E 49 55 1E 69 26 50 10 .z...PgQNIU.i&P.
0030: F8 1E 3A D7 00 00                               ..:...

202.96.140.122->202.112.226.126
Time 09:48:47:015
0000: 00 0B 6A 31 DF 84 00 0C CF 32 DC 00 08 00 45 00 ..j1.....2....E.
0010: 00 E4 42 C5 00 00 30 06 43 85 CA 60 8C 7A CA 70 ..B...0.C..`.z.p
0020: E2 7E 00 50 04 E5 55 1E 69 26 67 51 4F AA 50 18 ...P..U.i&gQO.P.
0030: 1D 50 0D E0 00 00 48 54 54 50 2F 31 2E 31 20 33 .P....HTTP/1.1 3
0040: 30 34 20 4E 6F 74 20 4D 6F 64 69 66 69 65 64 0D 04 Not Modified.
0050: 0A 44 61 74 65 3A 20 46 72 69 2C 20 31 31 20 4A .Date: Fri, 11 J
0060: 75 6E 20 32 30 30 34 20 30 32 3A 30 31 3A 35 38 un 2004 02:01:58
0070: 20 47 4D 54 0D 0A 53 65 72 76 65 72 3A 20 4D 69  GMT..Server: Mi
0080: 63 72 6F 73 6F 66 74 2D 49 49 53 2F 35 2E 30 20 crosoft-IIS/5.0
0090: 50 48 50 2F 34 2E 33 2E 34 0D 0A 43 6F 6E 6E 65 PHP/4.3.4..Conne
00A0: 63 74 69 6F 6E 3A 20 4B 65 65 70 2D 41 6C 69 76 ction: Keep-Aliv
00B0: 65 0D 0A 4B 65 65 70 2D 41 6C 69 76 65 3A 20 74 e..Keep-Alive: t
00C0: 69 6D 65 6F 75 74 3D 35 2C 20 6D 61 78 3D 39 39 imeout=5, max=99
00D0: 0D 0A 45 54 61 67 3A 20 22 33 36 32 34 66 36 2D ..ETag: "3624f6-
00E0: 36 39 66 35 2D 34 30 35 62 32 33 32 37 22 0D 0A 69f5-405b2327"..
00F0: 0D 0A                                           ..


据此作以下推测:
包内并没有本机IP之类可以由函数来取出的信息,但从第二部分红色显示的IP来看,服务器必然已经取得了客户端的IP地址,不然数据无法发送到客户端.

现在的问题是:

HTTP议与TCP是什么关系
如果HTTP只是TCP的一个实现方式,或者说HTTP通过TCP来实现,那么TCP协议在什么地方定义了发送方与接收方的IP信息


TCP数据包的包关结构如下:

源端口:16位;
目的端口:16位
序列码:32位,当SYN出现,序列码实际上是初始序列码(ISN),而第一个数据字节是ISN+1;
确认码:32位,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码;
数据偏移量:4位,指示何处数据开始;
保留:6位,这些位必须是0;
控制位:6位;
窗口:16位;
校验位:16位;
优先指针:16位,指向后面是优先数据的字节;
选项:长度不定;但长度必须以字节记;选项的具体内容我们结合具体命令来看;
填充:不定长,填充的内容必须为0,它是为了保证包头的结合和数据的开始处偏移量能够被32整除;




--------------------
[em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]
[em074]趴在楼下的背上睡得呼呼的Zzzzzz............[em074]
[em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]

[a=http://home.itdrp.com/go2west/]感情欠费中
           爱情停机中
                       工作寻找中[/a]
[ 2004-06-11 10:40:07 0000 修改 ]
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
slw4qd
著名写手
著名写手
  • 铜币2枚
  • 威望0点
  • 贡献值0点
1C#
发布于:2004-06-11 18:37
Re:[求助]关于web程序如何取得客户端IP的问题
和猜想的不一样

-------------------- ⿸⿷⿵⿵⿶⿸⿵⿶⿸⿶⿴⿶⿷⿵⿷⿸⿷⿵⿵⿶⿸⿸⿰⿰⿵⿸⿺⿺⿷⿹⿻⿻⿶⿴⿳⿸⿶⿴⿵
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
2C#
发布于:2004-06-11 18:39
Re:[求助]关于web程序如何取得客户端IP的问题
在本地机做过显IP测试,打算上传到网上空间做测试,可今天网络不行,没法上传..... -------------------- [em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]
[em074]趴在楼下的背上睡得呼呼的Zzzzzz............[em074]
[em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]

[a=http://home.itdrp.com/go2west/]感情欠费中
           爱情停机中
                       工作寻找中[/a]
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
slw4qd
著名写手
著名写手
  • 铜币2枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2004-06-12 17:32
Re:[求助]关于web程序如何取得客户端IP的问题
asp 还是 php? -------------------- ⿸⿷⿵⿵⿶⿸⿵⿶⿸⿶⿴⿶⿷⿵⿷⿸⿷⿵⿵⿶⿸⿸⿰⿰⿵⿸⿺⿺⿷⿹⿻⿻⿶⿴⿳⿸⿶⿴⿵
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
4C#
发布于:2004-06-12 17:55
Re:[求助]关于web程序如何取得客户端IP的问题
目标机是PHP,[em079]
原理不一样的吗?
偶只有ASP空间做测试 -------------------- [em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]
[em074]趴在楼下的背上睡得呼呼的Zzzzzz............[em074]
[em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]

[a=http://home.itdrp.com/go2west/]感情欠费中
           爱情停机中
                       工作寻找中[/a]
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
5C#
发布于:2004-06-12 17:56
Re:[求助]关于web程序如何取得客户端IP的问题
不如做个WEB服务器欺骗挑战赛吧,看谁能骗过服务器[em079] -------------------- [em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]
[em074]趴在楼下的背上睡得呼呼的Zzzzzz............[em074]
[em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074][em074]

[a=http://home.itdrp.com/go2west/]感情欠费中
           爱情停机中
                       工作寻找中[/a]
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
游客

返回顶部