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;
}