TCP的连接建立及报文段首部格式

粘包问题:

原因 :TCP流式套接字;数据与数据之间没有边界;导致可能多次的数据粘到一起。

解决办法:

  1. 规定一些数据与数据之间的间隔符,如:"\aa\", "\r\n"。
  2. 指定要发送的数据长度。
  3. 自己将数据打包。

TCP的连接建立:

1.用三次握手建立TCP连接:
2.TCP的连续释放(四次挥手)

TCP报文段的首部格式:

一个TCP报文段分为首部和数据两部分,但TCP的全部功能都体现在其首部各字段的作用。

TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N是整数))。因此TCP首部的最小长度是20字节。(详细内容参考《计算机网络》第205页。

常用网络测试工具:

  1. ifconfig:查看主机上网卡网络信息;
  2. ping:测试两台主机之间是否连通;
  3. telent:远程登陆工具;
  4. ssh:硬件(开发板)
  5. netstat:查看当前主机上,活动的网络进程相关状态信息;
  6. arp:address resolution protocol;

抓包工具(tcpdump):

tcp.port == 50000 && tcp.ip == 192.168.0.183

el ----> wireshark(抓包/监听)

wireshark(可视化界面)

过滤规则:

(1)根据IP地址过滤:ip.src == x.x.x.x ip.dst == x.x.x.x

(2)根据端口过滤: tcp.srcport == xx; tcp.dstport == xx;

udp.srcport == xx; udp.dstport == xx;

(3)根据协议类型过滤:tcp; udp; icmp...........telnet;

(4)任意组合以上条件抓包:tcp; udp; icmp...........telnet;

1)与(and):ip.src == 192.168.1.100 and tcp.dstport == 9999

2)或(or):ip.src == 192.168.1.100 or ip.dst == 192.168.1.102

tcp host 192.168.1.100

相关推荐
袁章根2 分钟前
基于瑞昱RTL8367S交换机电路设计(一)
网络·嵌入式硬件·硬件架构·硬件工程
都适、隶仁ミ8 分钟前
【等保加固】MySQL5.7.38
运维·服务器·mysql·安全·等保
洋不写bug12 分钟前
网络原理(一)应用层协议、传输层UDP/TCP报文格式解析
网络·tcp/ip·udp·tcp·应用层·javaee·传输层
沉下心来学鲁班23 分钟前
DeepAgents 记忆机制:让 AI Agent 拥有“跨对话“的记忆
服务器·人工智能·python
Huangjin007_34 分钟前
【Linux 系统篇(二十七)】文件(四):Ext 系列文件系统(上):从物理磁盘到逻辑抽象
linux·运维·服务器
鬼手点金43 分钟前
opencode-隐私优先配置
服务器·前端·javascript·bug·openclaw
夜之眷属44 分钟前
记一次战斗服务器 CPU 打满 100% 且“无法恢复“的排查
java·linux·运维·服务器·后端·性能优化
超级大福宝1 小时前
VS Code Remote-SSH 因 RemoteForward 端口冲突导致连接失败的排查与解决
运维·服务器·windows·vscode·ssh
荣合技术服务1 小时前
服务器数据恢复服务商——荣合科算技术服务
运维·服务器·数据恢复·荣合科算
Fcy6481 小时前
Linux下 网络层IP协议详解
linux·运维·tcp/ip