IP地址与端口
TCP/IP(传输控制协议/网际协议)不是一个协议,而是一组协议的总称,包括IP、TCP、UDP、ICMP、ARP等。它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据交换格式以及传送方式。
IP地址:是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围内惟一的标识符。一个IP地址主要由两部分组成:网络地址 和 主机地址。
网络地址由因特网权力机构分配,主机地址由各个网络的管理员统一分配。
IP地址编制方案有两种:IPV4和IPV6
IPV4:二进制表示共32位(4个字节)
IPV6:二进制表示共128位(16个字节)
在IPV4编制方案中,一般使用点分十进制表示法表示IP地址。例如:192.168.3.1
子网掩码:子网掩码用于屏蔽IP地址的一部分以区别网络标识和主机标识。把所有的网络位(二进制)用1来标识,主机位用0来标识。
例如:对于IP地址192.168.0.X,可以将子网掩码设置为255.255.255.0,对于IP地址192.168.0.X,其网络标示部分为192.168.0;主机标示为:X
端口:IP地址仅仅能够具体标识到某台主机,而端口则表示与计算机上的哪个进程通信。
根据IP地址找到是与哪台机器通信,根据端口号找到是与该机器的哪个进程通信。 (一个进程可能会使用多个端口)
端口地址的范围是十进制的0~65535
常用的默认端口号:
HTTP:80
Tomcat:8080
FTP:21
MySql:3306
Sql Server:1433
远程桌面:3389……
IP地址相关操作类
InetAddress类
没有公共的构造函数
常用方法
getByAddress -利用字节数组创建
getByName(“192.168.1.1”) -利用主机名或IP字符串
getLocalHost - 利用本机IP创建
getAllByName –根据域名得到所有IP地址
用途:
域名(DNS)解析、探测目标主机能否连通、地址类型判断、创建Socket的相关连接等
getHostName -得到主机名
getAddress -得到IP地址对应的字节数组
getHostAddress得到IP字符串
isReachable -测试目标IP的连通性(类似于ping )
NetworkInterface类
没有公共的构造函数
常用方法
getByName -通过网卡的索引名称创建
getByInetAddress -通过InetAddress创建
getNetworkInterfaces -得到所有的网卡对象
用途:
获取本地计算机网络接口相关的信息
getName -得到网卡的索引名称
getDisplayName -得到网卡的显示名称
getHardwareAddress -得到网卡的MAC地址