1、ifconfig:查看主机的ip地址
inet就是ipv4地址,inet6就是ipv6地址
2、ping:测试远程主机连通性
ping用来检测网络是否正常,或者某台主机是否可以连接
3、虚拟机网卡设置
NAT模式 | 虚拟机跟物理主机共用网络 |
---|
bridged模式 | 虚拟机如同一台真实存在的计算机,会占用真实网段的一个ip,虚拟机能够获取局域网的ip地址 |
4、端口
linux系统中的端口有65536个!范围为0-65535
端口是怎样分配的?
0-1023是我们不能操控的,1024-635535是我们可以操控的
分配规则分为知名端口和动态端口 知名端口:
知名端口就是众所周知的端口:范围从0-1023
常见协议及端口 | 协议的基本作用 |
---|
FTP(21) | 文件上传和下载 | SSH(22) | 安全的远程登录 | Telnet(23) | 远程登录 | dns(53) | 域名解析 | http(80) | 超文本传输 | pop3(110) | 邮件接收 | https(443) | 加密传输的https |
动态端口
动态端口的范围为1024-65535 之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配,用户也可以修改
netstat:可以用来查看有哪些端口 lsof:可以用来查看占用端口的服务是谁,lsof -i:端口号 5、socket简介
它能够实现不同主机之间的进程通信,我们网络上各种各样的服务大多数都是基于socket来完成通信的,例如我们每天浏览网页,qq聊天,收发email等
2、创建socket 在Python中,使用socket模块的socket类就可以
import socket
socket.socket(AddressFamily,Type)
参数一:AdressFamily:地址簇 socket.AF_INET IPv4(默认) socket.AF_INET6 IPv6 socket.AF_UNIX 只能够用于单一的unix系统进程间的通信 参数二:Type(类型) socket.SOCK_STREAM 流式socket,for TCP(默认) socket.SOCK_DGRAM 数据报式socket,for UDP socket.SOCK_RAW 原始套接字,可以处理icmp,igmp等网络报文 socket.SOCK_SEQPACKET 可靠的连续数据包服务
udp网络程序发送数据 实现代码如下:
import socket
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
"""
sendto参数说明
1、要发送的二进制数据
2、元组类型,把参数1的数据发送给谁(ip地址字符串,端口数值)
"""
udp_socket.sendto("helloworld!".encode(),("192.168.150.30",8080))
udp_socket.close()
效果如下,发送的地址为windows的地址 udp网络程序接收数据
import socket
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
recv_data=udp_socket.recvfrom(1024)
recv_text=recv_data[0].decode()
print("来自:",recv_data[1],"的消息",recv_text)
|