ping命令使用的是ICMP协议,它发送icmp回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。
如果源主机在一定时间内收到应答,则认为主机可达。Ping位于用户层,一般用来测试一台主机是否可达,该程序发烂伍送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。
ICMP是基于IP协议工作的,但是它并不是传输层的功能核搜,因此仍然把它归结为网络层协议。ICMP只能搭配IPv4使用,如果是IPv6的情况下,需要是用ICMPv6。ICMP大概分为改历历两类报文:一类是通知出错原因;一类是用于诊断查询。
发送123返回456的啊。。。貌似我把问题想复杂了。程序A
重新建立个程序2个文本框控件,一个是发送窗口,一个是接受窗口。一个Microsoft Winsock Control 控件。
Private Sub Form_load()
'设置双方网络地址,根据自己的情况自行设置
Winsock1.LocalPort=1024
Winsock1.RemoteHost="192.168.1.1"
Winsock1.RemotePort=30432
End Sub
Private Sub Text1_change()
'发送用户输入的内容
Winsock1.SendData Text1.Text
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal AS Long)
Dim rec As String
'接收对方数据并在文本框内显示者稿
Winsock1.GetData rec,vbString
Text2.text=rec
End Sub
程序B,首锋孝窗体内控件要求和A一样。
Private Sub Form_Load()
'设置双方网基裤络地址,根据自行条件设置...怕你看不懂还要罗嗦下。
Winsock1.LocalPort=1024
Winsock1.RemoteHost="192.168.1.1"
Winsock1.RemotePort=30432
简单就这样。你再研究研究。
python发送udp报文并修改源IP地址```
import socket
import struct
# 创建udp套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定源IP地址
s.bind(('192.168.0.1', 0))
# 设置报文信冲芹滑首缺息
data = 'hello world!'
dst_addr = ('192.168.0.2', 80)
# 修改源IP地址
src_addr = ('192.168.0.3', 0)
s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(src_addr[0]))
# 发送散腊报文
s.sendto(data.encode('utf-8'), dst_addr)
```
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)