哪位高手知道tcp数据包的具体格式啊

jianggjcelia12345 2006-10-16 10:26:39
0000 00 e0 fc 95 2b c9 00 01 29 27 22 8d 08 00 45 00 ....+... )'"...E.
0010 00 52 04 56 40 00 40 06 d1 aa 0a 65 24 ab da 4b .R.V@.@. ...e$..K
0020 5b 4a 04 77 1b 58 10 9a 0b 9a 7a 5f b5 8d 80 18 [J.w.X.. ..z_....
0030 fe fa e9 40 00 00 01 01 08 0a 00 00 23 09 00 22 ...@.... ....#.."
0040 58 44 23 35 76 76 66 75 76 5e 66 73 76 76 66 75 XD#5vvfu v^fsvvfu
0050 76 76 66 75 45 3c 63 3f 46 52 3b 56 44 46 3d 21 vvfuE<c? FR;VDF=!

由截包工具得到这样的一个数据包,是tcp协议的,哪位高手知道里面的具体字段是什么意思吗,谢谢
...全文
430 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MEFULEU 2006-11-09
  • 打赏
  • 举报
回复
//IP头
typedef struct _iphdr{
BYTE h_lenver ; //4位首部长度+4位IP版本号
char tos ; //8位服务类型TOS
char total_len ; //16位总长度(字节)
WORD ident ; //16位标识
WORD frag_and_flags ; //3位标志位
BYTE ttl ; //8位生存时间 TTL
BYTE proto ; //8位协议 (TCP, UDP 或其他)
WORD checksum ; //16位IP首部校验和
int sourceIP ; //32位源IP地址
int destIP ; //32位目的IP地址
} IP_HEADER;


typedef struct _tcphdr{ //定义TCP首部
WORD TCP_Sport ; //16位源端口
WORD TCP_Dport ; //16位目的端口
DWORD th_seq ; //32位序列号
DWORD th_ack ; //32位确认号
BYTE th_lenres ; //4位首部长度/6位保留字
char th_flag ; //6位标志位
WORD th_win ; //16位窗口大小
WORD th_sum ; //16位校验和
WORD th_urp ; //16位紧急数据偏移量
} TCP_HEADER;
zmzbs123 2006-10-22
  • 打赏
  • 举报
回复
RFC793
柯本 2006-10-22
  • 打赏
  • 举报
回复
TCP包结构:
typedef struct _TCP {
WORD SrcPort; // 源端口
WORD DstPort; // 目的端口
DWORD SeqNum; // 顺序号
DWORD AckNum; // 确认号
BYTE DataOff; // TCP头长
BYTE Flags; // 标志(URG、ACK等)
WORD Window; // 窗口大小
WORD Chksum; // 校验和
WORD UrgPtr; // 紧急指针
} TCP;
详细可参考:
http://topic.csdn.net/t/20050422/12/3958116.html
jianggjcelia12345 2006-10-17
  • 打赏
  • 举报
回复
haha,谢谢
huzhangyou 2006-10-16
  • 打赏
  • 举报
回复
自己去看RFC
do2008 2006-10-16
  • 打赏
  • 举报
回复
楼主用一个好一点的抓包工具嘛,,专业的sniffer pro, 以及开源的Ethereal,,

TCP数据包,小case了,
do2008 2006-10-16
  • 打赏
  • 举报
回复
TCP Header Format

http://www.networksorcery.com/enp/protocol/tcp.htm
http://www.freesoft.org/CIE/Course/Section4/8.htm
小包优先+web优先+2千多条游戏服务器IP优先+游戏爆发+连接数限制 番茄概念QOS脚本 主要概念: 1.小包优先定义: 上传数据包中长度小于128Byte并且状态为ESTABLISHED的数据包 下载数据包中长度小于256Byte并且状态为ESTABLISHED的数据包 这个ESTABLISHED是什么东东呢? 解释:TCP数据包有INVALID,ESTABLISHED,NEW,RELATED,UNTRACKED等状态。 具体解释:http://man.chinaunix.net/network/iptables-tutorial-cn-1.1.19.html#USERLANDSTATES 这个ESTABLISHED指连接已经完全建立的数据包了,而NEW指新建一个连接所使用的第一个数据包。 这样,就排除了那些状态为NEW的小包。 好处:有些人总是热衷于“修改XP最大连接数”来提高BT下载速率。其实这个所谓的“最大连接数”是指“最大并发连接数”, 也就是XP每秒能够发送状态为NEW的数据包,默认值是10。有些垃圾的BT软件将其修改为1000,这样庞大的连接数将会导致 瞬间上传速率非常大,如果将其优先级设置太高,将会导致网络延迟的震荡(一会高一会低)。 PS:“修改XP最大连接数”是无法提高BT下载的速率的,最多可以提高达到最大速率的时间。比如说不修改30秒达到最大速率,修改 后可能10秒就达到最大速率。但是会带来操作系统不稳定,路由器压力增大,蠕虫攻击,网络延迟震荡等不良后果。 微软在IT业混了几十年,从来就不提倡所谓的“修改最大连接数”。 2.正常的web浏览相对于下载BT数据包具有较高的优先级。 3.游戏爆发的定义: 当某个内网IP的速率小于50KB/S的时候,那么该IP的数据包进入“游戏爆发队列”。时间为10秒。 “游戏爆发队列”的优先级仅仅低于“游戏队列” 对于那些只玩游戏不下载的IP有帮助。 4.连接数限制。PS:tcp连接数在ROS各版本均可用,UDP连接数则需在5.X以上支持! 每IP限制TCP连接数100,UDP连接数150,并且对DNS,WEB,QQ等端口例外 不过在此我并未加入在脚本里,大家可以自行添加。 ex: TCP限线程 /ip firewall filter add chain=forward protocol=tcp tcp-flags=syn connection-limit=100,32 action=drop 创奇高手 QQ:550453843 Q群:500人总群 ROS总基地 群号:7217877(拥挤) 新群 创奇网络社区ROS总基地 群号:143322592(推荐) 新群 创奇网络社区ROS总基地 群号:139532314 (推荐) 创奇网络社区|ROS总基地 专注于ROS软路由技术!专注于互联网IT前沿技术!http://bbs.chanki.net 提倡互助分享精神!打造一个集IT资讯,网吧技术,网络技术,资源共享,硬件数码等的一体化交流社区!

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧