注册
登录
提问时间:2016/10/30 19:14:13
如题
1楼(匿名用户)

计算机网络咋学的
2楼(未知网友)

《计算机网络--自顶向下方法》
3楼(未知网友)

在正常的数据包结构里,ethernet层是MAC地址,ip层里是ip地址,tcp层里是source/dest port,而http层里可能会有host的IP地址
4楼(未知网友)

比如说我要做一个网站,在服务器端有办法得到访问者浏览器端的IP地址么?
5楼(未知网友)

IP地址早就在IP层扒掉了,到了应用层就只剩http协议的数据和http首部了
6楼(未知网友)

自己在响应头里增加个自定义的字段,将web服务器看到的remote_addr赋值给该字段就可以看到了。
7楼(站大爷用户)

严格的讲,针对这个连接的源ip地址存储在tcp报文头里。
但是,针对大多数使用了代理的场景,想在服务端拿到客户端源地址就要依赖
https://en.m.wikipedia.org/wiki/X-Forwarded-For
8楼(站大爷用户)

标准的没有,特殊情况,比如设置了代理,会有
9楼(站大爷用户)

HTTP/TCP/IP,这个栈大家都知道,HTTP层里除了xff其他的地方似乎没有IP地址,TCP层没有IP地址,IP层当然有IP地址。所以,服务器端可以拿到对端的IP地址,还有代理填写的xff(如果有)。

还有一点不能忽略的,NAT现在应用很广。服务器端无法直接取到对端的私网地址。
10楼(未知网友)

HTTP 报头里不会有,地址在 IP 级,端口在 TCP 级
立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品