linux 下網路程式設計結構體定義對應的標頭檔案

2021-06-21 07:56:03 字數 1842 閱讀 9370

netinet/if_ether.h   ether_arp的資料結構

netinet/ether.h    以太禎的網路位元組和ascii位元組的轉換,包括ether_ntoa(),ether_aton這樣的函式定義

netinet/ip.h   這個標頭檔案和linux/ip.h似乎很相似,也有iphdr的資料結構,同時還包括了timestamp結構,我的理解是,linux資料夾下的 ip.h是linux黑客編寫的ip標頭檔案,而這個則是gnu一開始就定義的標頭檔案,同時還包括了bsd中的ipheader結構定義。同理的還有該目錄 下的tcp.h等檔案

linux/ip.h   iphdr的資料結構,以及一些ip層的資料定義,同理的還有tcp.h,udp.h等等

linux/if.h    主要的socket標頭檔案,似乎修改自unix的if.h,定義了網絡卡的介面資訊的巨集,例如iff_up.另外有數個重要的inte***ce的資料結構定義,包括ifreq,ifconf,ifmap

linux/if_packet.h    原始資料報的資料結構定義,包括sockaddr_pkt,sockaddr_ll,想接收原始資料報的不能錯過這個檔案。同理的還有if_ppp.h,if_tun.h等等

netinet/in.h    這個檔案作的事情就多了。埠巨集定義,著名ip(比如loopback),結構sockaddr_in,網路位元組轉換(ntoh,hton。。。。)。。。反正太多了,沒事的話就把這個檔案加到頭檔案包含裡吧

netdb.h    檔案如其名,包括結構hostent(主機環境),獲得主機的資訊的幾個函式(gethostbyname)。似乎這個就是定義主機的各項環境,例如hostname等等

net/bpf.h  berkeley的資料報過濾標頭檔案,想用bpf進行包過濾的要重視一下這個檔案

net/ethernet.h 包括幾個乙太網的資料結構,ether_addr(mac幀結構),ether_header(以太幀的頭部)

-------------------------------

//primitive system data types(包含很多態別重定義,如pid_t、int8_t等)  

//與套接字相關的函式宣告和結構體定義,如socket()、bind()、connect()及struct sockaddr的定義等

//i/o控制操作相關的函式宣告,如ioctl()

//某些結構體定義和巨集定義,如exit_failure、exit_success等

//某些結構體定義、巨集定義和函式宣告,如struct hostent、struct servent、gethostbyname()、gethostbyaddr()、herror()等

//某些函式宣告,如inet_ntop()、inet_ntoa()等

//某些結構體宣告、巨集定義,如struct sockaddr_in、proto_icmp、inaddr_any等

------------------------------

linux下socket編寫常用標頭檔案

#include //connect,send,recv,setsockopt等

#include

#include // sockaddr_in, "man 7 ip" ,htons

#include //poll,pollfd

#include //inet_addr,inet_aton

#include //read,write

#include //gethostbyname

#include //perror

#include

#include //errno

#include // memset

#include

#include

Linux下網路程式設計實驗

1 tcp程式設計 伺服器端tcp server.c include include include include include include include include define portnumber 3333 int main int argc,char argv 伺服器端填充 s...

Linux下網路程式設計(一)

一,計算機與網路的發展 計算機與網路發展的7個階段 1.批處理 20世紀50年代 是指實現將使用者個資料裝入卡帶或者磁帶。並有計算機按照一定的順序讀取,是使用者索要執行的這些程式和資料能夠一併批量得到處理的方式。2.分時系統 20世紀60年代 是指多個終端 包含滑鼠 鍵盤 顯示器等輸入輸出裝置組成,...

linux環境下網路程式設計

參考 socket是網路程序的pid,由執行程序的計算機的ip位址和程序使用的埠組成。非同步狀態下connect不阻塞,直接返回 1,connect返回 1是對的 然後通過select進行判斷是否連線上 同步狀態下connect阻塞,系統莫認時間75秒後,返回成功或失敗 tcp程式設計的流程 伺服器...