协议报文分析
㈠ 如何通过wireshark分析udp报文的协议号
TCP是6,UDP是17
㈡ 什么是协议,什么是报文
要看你说的 是什么协议咯,协议有
ATM协议 即异步传输模式,ATM协议是以高速分组传送模式为主,综合电路传输模式优 先的一种宽带传输模式。
BGP协议 BGP协议即边界网关协议,BGP协议是不同自治系统路由器之间进行通信的外部网关协议
DHCP协议 主要用在路由器中给局域网各主机分配IP
DNS协议 域名系统(服务)协议
DSL协议 高速数字用户线,已经是历史了
EIGRP协议 增强的内部网关路由选择协议
FDDI协议 FDDI(光纤分布数据接口)是目前成熟的LAN技术中传输速率最高的一种
FTP协议 地球人都知道
HTTP协议 地球人都知道
IGRP协议 IGRP (Interior Gateway Routing Protocol)是一种动态距离向量路由协议,它由Cisco公司八十年代中期设计。使用组合用户配置尺度,包括延迟、带宽、可靠性和负载。
IPV6协议 目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4,v是version——版本),它的下一个版本就是IPv6。IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。
MPLS协议 MPLS(Multi-Propocol Label Switching)即多协议标记交换。
IPX协议 IPX协议是Novell NetWare自带的最底层网络协议,主要用来控制局域网内或局域网之间数据包的寻址和路由,只负责数据包在局域网中的传送,并不保证消息的完整性,也不提供纠错服务。
OSPF协议 OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
POP3协议 POP 即为 Post Office Protocol 的简称,是一种电子邮局传输协议,而 POP3 是它的第三个版本
PPP协议 PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。
RIP协议 距离向量路由协议。
SMTP协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SNMP协议 简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。
TCP/IP协议 TCP/IP(Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。
TELNET协议 用于远程登录
TFTP协议 TFTP全称为Trivial File Transfer Protocol,中文名叫简单文件传输协议。
UDP协议 用户数据报协议是定义用来在互连网络环境中提供包交换的计算机通信的协议。
VLAN协议 VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头
VOIP协议 VoIP(Voice over Internet Protocol)是一种以IP电话为主,并推出相应的增值业务的技术
WINS协议 WINS是Windows Internet Name Server(Windows网际名字服务)的简称。WINS为NetBIOS名字提供名字注册、更新、释放和转换服务,这些服务允许WINS服务器维护一个将NetBIOS名链接到IP地址的动态数据库,大大减轻了对网络交通的负担。
WLAN协议 WLAN是无线局域网的首字母缩写词。
以太网协议 以太网协议有两种,一种是IEEE802.2/IEEE802.3,还有一种是以太网的封装格式。
WAP (无线通讯协议)是在数字移动电话、互联网或其他个人数字助理机(PDA)、计算机应用乃至未来的信息家电之间进行通讯的全球性开放标准。
ICMP 是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
我对报文的理解:
报文=数据块
RFC 791
㈢ 简述arp协议的报文类型
ARP报文被封装在以太网帧头部中传输,如图2所示,是ARP请求协议报文头部格式。
ARP请求协议报文头部格式
图2中黄色的部分是以太网(这里是Ethernet II类型)的帧头部。其中,第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。第二个字段是源 MAC地址,即请求地址解析的主机MAC地址。第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议。
接下来是ARP协议报文部分。其中各个字段的含义如下:
硬件类型:表明ARP实现在何种类型的网络上。
协议类型:代表解析协议(上层协议)。这里,一般是0800,即IP。
硬件地址长度:MAC地址长度,此处为6个字节。
协议地址长度:IP地址长度,此处为4个字节。
操作类型:代表ARP数据包类型。0表示ARP请求数据包,1表示ARP应答数据包。
源MAC地址:发送端MAC地址。
源IP地址:代表发送端协议地址(IP地址)。 54com.cn
目标MAC地址:目的端MAC地址(待填充)。
目标IP地址:代表目的端协议地址(IP地址)。
ARP应答协议报文和ARP请求协议报文类似。不同的是,此时,以太网帧头部的目标MAC地址为发送ARP地址解析请求的主机的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为1,表示ARP应答数据包,目标MAC地址字段被填充以目标MAC地址。
㈣ 什么是报文协议
什么是“网际控制报文协议”?
完成网络互联的设备主要是路由器,而路由器与路内由器之间需要有容适当的控制,它是通过路由器—-路由器、路由器—-主机的工作协议来实现的。
IP协议提供了一种无连接的、尽力而为的服务。IP协议的优点是简洁,它的缺点是缺少差错控制和查询机制。在数据报通过互联网络中,出现各种传输错误是不可避免的。例如:数据报生存时间内不能收到所有的数据报分片。对于ip协议来说,数据报一旦发送出去,是否到达目的主机,以及在传输过程中出现哪些错误,源主机的IP模块是不知道的,因此必须通过一种差错报告和查询、控制机制来了解和报告差错。网际控制报文协议(Internet Control Message Protocol)ICMP就是为了解决以上问题而设计的。ICMP的差错与查询、控制功能对于保证tcp/ip协议的可靠运行时至关重要的。
ICMP的主要职责就是报告差错,ICMP差错报告报文共有五种:目的站不可到达,源站抑制,超时,参数问题,改变路由
㈤ 如何实现java解析网络协议报文
普通参数:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
文件参数:
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
参数实体的最后一行是: --加上boundary加上--,最后换行,这里的 格式即为: --OCqxMF6-JxtxoMDHmoG5W5eY9MGRsTBp--。
模拟文件上传请求
public static void uploadFile(String fileName) {
try {
// 换行符
final String newLine = "\r\n";
final String boundaryPrefix = "--";
// 定义数据分隔线
String BOUNDARY = "========7d4a6d158c9";
// 服务器的域名
URL url = new URL("www.myhost.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置为POST情
conn.setRequestMethod("POST");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
// 设置请求头参数
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
OutputStream out = new DataOutputStream(conn.getOutputStream());
// 上传文件
File file = new File(fileName);
StringBuilder sb = new StringBuilder();
sb.append(boundaryPrefix);
sb.append(BOUNDARY);
sb.append(newLine);
// 文件参数,photo参数名可以随意修改
sb.append("Content-Disposition: form-data;name=\"photo\";filename=\"" + fileName
+ "\"" + newLine);
sb.append("Content-Type:application/octet-stream");
// 参数头设置完以后需要两个换行,然后才是参数内容
sb.append(newLine);
sb.append(newLine);
// 将参数头的数据写入到输出流中
out.write(sb.toString().getBytes());
// 数据输入流,用于读取文件数据
DataInputStream in = new DataInputStream(new FileInputStream(
file));
byte[] bufferOut = new byte[1024];
int bytes = 0;
// 每次读1KB数据,并且将文件数据写入到输出流中
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
// 最后添加换行
out.write(newLine.getBytes());
in.close();
// 定义最后数据分隔线,即--加上BOUNDARY再加上--。
byte[] end_data = (newLine + boundaryPrefix + BOUNDARY + boundaryPrefix + newLine)
.getBytes();
// 写上结尾标识
out.write(end_data);
out.flush();
out.close();
// 定义BufferedReader输入流来读取URL的响应
// BufferedReader reader = new BufferedReader(new InputStreamReader(
// conn.getInputStream()));
// String line = null;
// while ((line = reader.readLine()) != null) {
// System.out.println(line);
// }
} catch (Exception e) {
System.out.println("发送POST请求出现异常!" + e);
e.printStackTrace();
}
}
㈥ OPC通信协议怎么解析抓包抓出了一些OPC协议传输的数据,想对其进行分析,不知道怎么分析,求解释
OPC协议是公开的,基金会有链接库提供。从报文分析很复杂,搞出来也没用。
㈦ modbus_RTU协议报文解析我发:01 03 9F 2E 00 04 0A 14收到:01 03 08 00 00 00 01 00 00 00 00 A8 17。
接收完整的数据序列以后再解析。
查看01地址是否正确
核对CRC校验是否正确
再判断功能码是否正确
再核对存储器地址是否在范围内
然后根据数量提取数据
最后应答
㈧ TCP协议分析和报文重组
rfc793
慢慢看吧~