0x01 环境
python、pycharm
0x02 程序
# -*- coding:utf-8 -*-import sockettarget_host='127.0.0.1'
target_part=80#创建一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#发送一些数据
client.sendto('AAAAAA',(target_host,target_part))#接收到的消息
data,addr=client.recvfrom(4096)print data
0x03 解释
下面这段代码是用来创建一个套接字,socket函数有三个参数
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
分别为:
socket(family,type[,protocal])
- family是地址系列,主要有:
值 | 含义 |
---|---|
socket.AF_INET | IPv4,默认 |
socket.AF_INET6 | IPv6 |
- type是套接字类型,主要有
值 | 含义 |
---|---|
socket.SOCK_STREAM | 创建的套接字基于TCP,默认 |
socket.SOCK_DGRAM | 创建的套接字基于UDP |
- protocal默认就行
当执行完这条语句就会成功创建一个套接字,UDP不需要连接,所以可直接发送数据
client.sendto('AAAAAA',(target_host,target_part))
sendto(string[,flag],address)是发送 UDP 数据,将数据发送address指定的主机,address 是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。
data,addr=client.recvfrom(4096)
recvfrom(bufsize[.flag]),用来接收UDP数据,bufsize用来限定一次接收最大字节数,返回值是(data,address)。其中 data 是包含接收数据的字符串,address 是发送数据的套接字地址。
0x04 运行结果
一开始运行成功了,并有数据返回,再次运行,拒绝访问了,哎!下次补上图吧!