网络通信问题定位步骤
来源:互联网 发布:新浪php笔试题 编辑:程序博客网 时间:2024/05/24 08:33
网络通信问题定位步骤
- ping网络,查看网络是否连通;
- 使用抓包工具抓包,查看是否发送或接收到相应数据包;
- 检查数据帧格式,大端小端等问题,查看数据是否组帧正确;
- 排查发送或接收端程序问题。
抓包
Windows系统下可使用Wireshark抓包工具
Wireshark通过可视化图像界面菜单中的捕获下的选项按钮进行设置,如下图。选项按钮中可设置捕获接口,捕获筛选器等配置,如下图。配置完成后点击开始按钮可开始捕获数据。可在应用显示筛选器中按照Wireshark要求格式填写筛选语句,这样可筛选显示的捕获数据。快捷工具栏中从左往右开始的3个按钮可控制捕获的开始与停止,以及重新捕获。总结:这里只是简单的介绍了Wireshark的使用,具体使用可查看官方使用说明文档。Linux系统下可使用tcpdump抓包工具
示例:截取全部进入服务器的数据可以使用以下的格式:
tcpdump -n -i eth0 dst 192.168.0.202具体使用可参考http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
大端小端
- 大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。例如:e6 84大端模式存储为e6 84。这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。
- 小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。例如:e6 84小端模式存储为84 e6。这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
- 总结:一般操作系统都是小端,而通讯协议是大端的。常用的X86结构是小端模式,而KEIL C51则为大端模式。对于大小端的处理也和编译器的实现有关,在C语言中,默认是小端(但在一些对于单片机的实现中却是基于大端,比如Keil 51C),Java是平台无关的,默认是大端。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。在网络上传输数据普遍采用的都是大端。
为什么会有大小端模式之分呢?
这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在大部分语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),对于位数大于8位的数据类型,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。本文是自己的一点经验之谈,如有不足之处请指正。文章仅供学习和交流使用!
阅读全文
0 0
- 网络通信问题定位步骤
- LINUX 网络通信问题
- 网络通信问题
- CSocket类网络通信编程步骤
- 流媒体传输网络问题定位
- Linux网络问题定位工具
- GPS定位踪器通信问题
- 笔试:网络通信的问题
- 网络与通信:网络其他问题
- 网络与通信:网络其他问题
- 解决google map无法网络定位问题
- 网络防火墙策略限制定位问题
- java网络编程-(2)网络通信方式和网络编程步骤
- 用Tcpdump定位服务器和客户端通信问题
- 问一个关于网络通信的问题
- Java网络通信编程:BufferedWriter问题
- 网络通信的大端小端问题
- 网络通信中--大小端问题
- Lock和Synchronized区别
- EditPlus打开.tpl文件高亮显示代码
- 115_容器_迭代器遍历Map的两种方式
- Python多线程threading用法
- 已知空间中某个3d物体的欧拉角(p,h,b),求该物体绕固定轴(v)旋转固定角度(theta)后该物体的欧拉角p',h',b'
- 网络通信问题定位步骤
- 工作流学习——Activiti流程变量五步曲
- 奋斗方向
- 数组,集合的写法
- hdu1301 最小生成树
- OpenCV显示中文汉字,未使用CvxText和FreeType库,很强大!!
- C#变量(枚举,结构,数组)
- 使用layer
- Android 双时间选择控件