TCP/IP网络编程
arvik
嵌入式
展开
-
【以太网数据结构】IP协议
IP协议数据包格式:IP协议最终目的是把数据从源传送到目的地,它不保证数据传送的靠性性! 主要作用:数据传送:将数据从一个主机传到另一个主机寻址:根据子网划分IP地址,发现正确的目的主机地址路由选择:选择数据在互联网上的传送路径数据报文的分段:当传送的数据大于MTU时,将数据进行分段发送和接收并组装协议字段解释:版本:IP协议版本号,长度为4位。对于IPV4,原创 2015-10-12 21:14:37 · 4601 阅读 · 0 评论 -
【以太网数据包】微信数据包
【以太网数据结构】系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175本次抓包主要针对微信app进行,时间是2016年9月微信使用了一下几种协议 sync协议:(大量)在发送微信消息的时候会发现大量该协议的数据包 http协议:(大量)在访问微信朋友圈的时候会发现大量该协议的数据包,以及微信支付的时候(不要怀疑,在填写原创 2016-09-19 21:04:25 · 6023 阅读 · 0 评论 -
【linux网络】ip_rcv_finish()函数
ip_rcv_finish()函数存在于kernel/net/ipv4/ip_input.c文件中记得在ip_rcv()函数执行最后条用了NF_HOOK,将数据发往netfilter的NF_INET_PRE_ROUTING节点,如下: NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, dev, NULL, ip_rcv_原创 2016-04-27 17:46:05 · 3770 阅读 · 0 评论 -
【linux网络】ip_rcv()函数
ip_rcv()函数存在于linux内核net/ipv4/ip_input.c文件中。 linux-3.10.36中ip_rcv()函数源码如下(夹带中文注释):/* * Main IP Receive routine. * 对IP头部合法性进行严格检查,然后把具体功能交给ip_rcv_finish */int ip_rcv(struct sk_buff *skb, struct ne原创 2016-04-26 19:23:59 · 3432 阅读 · 0 评论 -
【以太网数据结构】UDP协议
【以太网数据结构】系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175UDP协议数据包格式 UDP协议是一种基于IP协议的不可靠协议,它提供无连接的不可靠的传输服务。UDP协议的执行速度要比TCP快得多,在不需要可靠传输的应用程序上有比较广泛的应用,如 流媒体的传输、域名服务器、嵌入式机顶盒系统等。协议字段解释:源端口号原创 2015-12-04 20:36:48 · 3122 阅读 · 0 评论 -
【以太网数据包】OICQ数据包(QQ)
【以太网数据结构】系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175OICQ数据包格式协议字段解释: 标识:固定为0x02 版本号:协议版本 命令: 命令字 解释 命令字 解释 1 log out 2 hert message 4 跟新用户信息 5 搜索用户 6原创 2015-12-21 20:22:23 · 8153 阅读 · 1 评论 -
【以太网数据包】DNS数据包
【以太网数据结构】系列文章链接 http://blog.csdn.net/u012819339/article/category/5849175DNS数据包格式DNS协议作用:解析出域名对应的IP协议字段解释:标识ID:每一次DNS查询数据包都会有自己一个ID,其应答包的ID和请求包的ID是一样的。 标识FLAG:该字段有点意思,如下: 位段 位置 解释 QR x000原创 2015-12-04 20:48:43 · 4576 阅读 · 0 评论 -
【以太网数据结构】地址解析协议ARP
ARP数据包结构:(看不清可将图片放大查看) 为什么有ARP? 在以太网为基础的局域网中,每个网络接口都有一个硬件地址,即MAC。在局域网中必须知道网络设备的硬件地址才能向目的主机发送数据,而在广域网中数据传输的目的地址是IP地址。 要保证数据准确的传输到目的地必须建立IP地址和硬件地址的映射关系,所以有了ARP。ARP穿着一件外套——以太网头部,此时以太网头部目的地址为ff ff ff ff原创 2015-11-24 18:56:05 · 2952 阅读 · 0 评论 -
【以太网数据结构】以太网头部
以太网封包格式如图所示: 以太网目的地址和源地址各占6个字节,该地址即平常所说的网卡的MAC。每个网卡在全球拥有唯一的MAC!在地址后面有两个字节表示类型,如:0800表示此真数据是IP数据,0806表示ARP请求。后面博客会针对讲解。类型字段之后是数据,对于以太网,数据段大小为46-1500字节,不足46字节的数据将被自动补足到46字节。如ARP协议的数据格式为28字节,为了符原创 2015-11-24 17:14:03 · 11917 阅读 · 0 评论 -
【linux网络】linux内核网络数据包流向图
根据网络上搜集的资源以及查看linux内核网络相关的代码,arvik绘制了一份linux内核网络数据包流向图,该图大致呈现了数据包从网卡进来以后到怎么出网卡或者进入本地的流程 以及 本地数据怎么流出网卡的流程。如下(linux内核版本3.10.36):以防在博客上看不清楚,我制作了一个清晰的pdf文件,可到以下地址下载: github: https://github.com/arviklinux/原创 2016-09-28 10:29:31 · 3686 阅读 · 0 评论