IP源码人
‘壹’ (急)IP协议源代码(C++)中的转发函数谁能帮忙解释一下
PERF_START 转发开始,初始化。
ip_forward() 转发函数, 转发一个数据包。
ip_route() 找通向目的地的路线。
(struct ip_addr *)&(iphdr->dest 目的地转成ip_addr结构。如果 找到路线,送返 结构 netif,否则 送返 NULL。
if((ip_route ...NULL){} 如果送返 NULL,也就是没找到路线,则做 {...}
找到路线, 但是 if(netif == inp) ,表示同一个数据包,已到达,不必转发。
IPH_TTL_SET(iphdr, IPH_TTL(iphdr) - 1); 如果ttl == 0,为防止数据包不断在 IP 互联网络上永不终止地循环,减小 数据包 生存时间TTL 1,icmp..是否执行封包回显应答。
IPH_CHKSUM_SET 更新 IP checksum 检查,根据条件决定是否+1。
DEBUGF -- 查错时输出的信息
#ifdef IP_STATS ... #endif
如果定义了IP_STATS (IP 开始) 则...
PERF_STOP() 终止 转发
functionGetIP(){
if(getenv("HTTP_CLIENT_IP")&&strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip=getenv("HTTP_CLIENT_IP");
elseif(getenv("HTTP_X_FORWARDED_FOR")&&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown"))
$ip=getenv("HTTP_X_FORWARDED_FOR");
elseif(getenv("REMOTE_ADDR")&&strcasecmp(getenv("REMOTE_ADDR"),"unknown"))
$ip=getenv("REMOTE_ADDR");
elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],"unknown"))
$ip=$_SERVER['REMOTE_ADDR'];
else
$ip="unknown";
return($ip);
}
$url='http://(淘宝IP库)/service/getIpInfo.php?ip='.GetIP();
‘叁’ tcp/ip 源码剖析 怎么样
先认清你自己学习的出发点吧, 是应用层面方向还是内核协议栈
应用层面,我不是很了解
内核协议栈个人学习流程大概如下:
首先看TCP/IP卷2,理解2层(MAC地址), 3层(IP, 路由),4层(TCP,UDP,ICMP,IGMP)
这里主要理解的框架,先把网络协议层从下到上(或从上到下)理一遍
然后,建议你看<深入理解Linux网络技术内幕> 能看英文版最好
按照那本书的目录,找找网上的资料
稍微理解下sk_buff和net_device这两个结构
(不要想着去看懂, 要完全看懂这个结构,会花费比较多的时间,而且还要结合网络子系统中的各个应用)
然后,直接把整本书完整看一遍,不要刻意去扣细节,第1遍看这本书只是为了把网络子系统的内部框架建立起来
看完1遍,肯定有自己的见解了,然后,再根据自己需要的,去扣代码细节
代码方面,建议不要找最新的代码,我看这本书选的2.6.16的,最新代码的话,和这本书对应不上,不便于理解基础
<深入理解Linux网络技术内幕> 这本书,除了没有TCP/UDP的详细解说,至少我没发现比他还好的书
‘肆’ 易语言代理IP源码
精易模块,,网页-访问 有代理,可设置代理为列表框的内容,时钟可设置延迟然后运行网页访问
‘伍’ asp.net如何获取客户端真实ip(源码)
IPHostEntry
ip=Dns.GetHostByName(textBox1.Text);
//textBox1.Text是客户端主机名
IPAddress[]
ipp=ip.AddressList;
for(int
i=0;i<=ipp.Length-1;i++)
{
listBox1.Items.Add(ipp[i].ToString());
}
to:客户端系统时间?
监听一下13号端口
:)
accSock=sock.Accept();//用于接收客户端的连接请求,返回套接字对象
if(accSock.Connected)
{
IPAddress
ipAddress=IPAddress.Parse(((IPEndPoint)accSock.RemoteEndPoint).Address.ToString());
IPAddress
Port=IPAddress.Parse(((IPEndPoint)accSock.RemoteEndPoint).Port.ToString());
//获取客户端的IP地址
湖北新蓝海是一家专注于网络营销
网络推广的领头企业
,已为武汉健民、华工激光、江西仁和等多家知名企业提供网络营销外包服务。详情请到各大搜索引擎中搜索“湖北新蓝海”
‘陆’ 求一个别人打开就可以获取到他的IP的网站源码,最好是带后台
如何简单的网页都可以,网页里面放置网络 谷歌这些统计代码就可以了,就可以统计有多少IP访问了
‘柒’ 求网站显ip源码
你网络一下:
显示来访IP地址免费代码很多免费调用的接口非常方便
但是网络知道的部分管理实在脑残缺钙,只要发了不认识的代码就以广告为由屏蔽
甚至哪天心情不爽,失恋,没吃饱,都会封贴,禁止帮人...
所以建议你自己搜一下刚才的关键字,不便之处还望谅解...望采纳
或许一会这个回复也没了...揭短总是容易引起他们不爽...
‘捌’ 谁有IP欺骗的源代码
告诉你一个简单方法,用跳板,然后再用代理IP,这样对方很难知道你的真实IP。至于源码,我想还没有人能写出吧!
‘玖’ 显示本机IP源代码
用vc8可以直接编译
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#include <iostream>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int doit(int, char **)
{
char ac[80];
if (gethostname(ac, sizeof(ac)) == SOCKET_ERROR) {
cerr << "Error " << WSAGetLastError() <<
" when getting local host name." << endl;
return 1;
}
cout << "Host name is " << ac << "." << endl;
struct hostent *phe = gethostbyname(ac);
if (phe == 0) {
cerr << "Yow! Bad host lookup." << endl;
return 1;
}
for (int i = 0; phe->h_addr_list[i] != 0; ++i) {
struct in_addr addr;
memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
cout << "Address " << i << ": " << inet_ntoa(addr) << endl;
}
return 0;
}
int main(int argc, char *argv[])
{
WSAData wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
return 255;
}
int retval = doit(argc, argv);
WSACleanup();
return retval;
}