linux 網路位址

2021-06-10 06:03:07 字數 1298 閱讀 9959

linux下ip轉換工具::

#include

#include

#include

strcut sockaddr_in   src;

src.sin_addr.s_addr   =  inet_addr("*.*.*.*");                 //構建網路位址。

printf("%s\n",inet_ntoa(src.sin_addr));             //將網路位址轉換成字串。

注意::

inet_ntoa存在的問題是inet_ntoa的返回值是乙個static型別的char *指標,所以會出現問題::

char *a1,a2;

src.sin_addr.s_addr  =  inet_addr("192.168.1.123");

a1   =inet_ntoa(src.sin_addr);                  

src.sin_addr.s_addr = inet_addr("192.168.1.124");

a2 = inet_ntoa(src.sin_addr);

printf("a1:%s\n",a1);

顯示為::         a1:192.168.1.124

printf("a2:%s\n",a2);

顯示為:          a2:192.168.1.124

原因是靜態的static   char *

linux下網路程式設計,一般需要包含的標頭檔案包括:

#include

#include

#include

#include

#include

#include

linux下網路位址有:

struct    sockaddr

這種結構不常用,常用的是:

struct    sockaddr_in

其中:struct   in_addr

strcut  sockaddr_in    src;

src.sin_family  = af_inet;

src.sin_addr.s_addr   =    inet_addr("*.*.*.*");

bzero(src.sin_zero,8);

其中用到了,inet_addr是linux提供的網路程式設計中使用的ip轉換工具。

inet_addr("*.*.*.*");將字串ip位址轉換成網路位址,並且是網路位元組序的。

相反的轉換工具有inet_ntoa等。

Linux 命令配置網路位址

auto eth0 開機自動連線網路 iface lo inet loopback allow hotplug eth0 iface eth0 inet static static表示使用固定ip,dhcp表述使用動態ip address 198.9.146.131 設定ip位址 netmask 2...

網路位址劃分

網路位址可以分為網路號和主機號,主機號又可以分為子網號和子網主機號。ip位址分為五類,a類保留給 機構,b類分配給中等規模的公司,c類分配給任何需要的人,d類用於組播,e類用於實驗,各類可容納的位址數目不同。1 特徵 a 0 b 10xx c 110x d 1110 e 11110 2 各類位址的劃...

網路位址劃分

目前的網路ip是32位的。屬於ipv4 ipv6是128位。目前的網路是32位,分為4段。每段8位。a類位址是網路位有8位,主機位有24位,可以容納很多的主機,一般是屬於大型的網路。子網掩碼是 255.0.0.0 0 x.00000000.00000000.00000000 但是實際可以用時1 12...