
数据包处理
RyanWang0000
这个作者很懒,什么都没留下…
展开
-
数据链路层sniffer(一) raw_socket使用总结
raw_socket介绍raw socket中文叫原始套接字,它和其他的套接字的不同之处在于它工作在网络层或数据链路层,而其他类型的套接字工作在传输层,只能进行传输层数据操作。raw_socket 创建raw socket的创建和使用1、像其他类型的socket一样,raw socket的创建非常简单,直接使用socket函数进行创建 int socketfd = socket(AF_I...原创 2019-03-20 15:17:22 · 2642 阅读 · 0 评论 -
数据链路层sniffer(二)sniffer实例
实例下面的代码创建一个直接读取链路层数据包的原始套接字,并从中分析出源MAC地址和目的MAC地址,源IP和目的IP,以及对应的传输层协议,如果是TCP/UDP协议的话,打印其目的和源端口.为了方便阅读,程序中避免了使用任何与协议有关的数据结构,如struct ether_header ,struct iphdr 等其中需要掌握数据链路层、网络层、传输层数据包头格式,格式如下:MAC帧格...原创 2019-03-20 15:27:33 · 472 阅读 · 0 评论