网络编程
从此开始低调范✌️
这个作者很懒,什么都没留下…
展开
-
libnet库的安装与使用
1 安装sudo apt-get install libnet1-dev2 使用头文件:#include <libnet.h>编译时加:-lnet利用libnet函数库开发应用程序的基本步骤:数据包内存初始化构造数据包发送数据释放资源相关函数:libnet_t *libnet_init(int injection_type, char *device, char *err_buf)功能: 数据包内存初始化及环境建立参数: injection_type原创 2021-10-21 10:46:12 · 2284 阅读 · 0 评论 -
libpcap库的安装与使用
1 安装sudo apt-get install libpcap-dev2 使用需要包含的头文件:#include <pcap.h编译的时候需要加:-lpcap利用libpcap函数库开发应用程序的基本步骤:打开网络设备设置过滤规则(可选)捕获数据关闭网络设备常用函数:pcap_lookupdev( )(可选) 查看设备名,返回网卡名pcap_t *pcap_open_live(const char *device,int snaplen,int promisc,原创 2021-10-20 17:30:11 · 4308 阅读 · 0 评论 -
Linux使用原始套接字从链路层开始封包组包(IP数据包)
#include <netinet/ip.h>#include <netinet/udp.h>#include <sys/socket.h>#include <arpa/inet.h>#include <sys/types.h>#include <cstring>#include <sys/ioctl.h>#include <net/ethernet.h>#include <net/if.h原创 2021-10-19 17:18:52 · 1036 阅读 · 0 评论 -
Linux使用原始套接字从链路层开始封包组包(ARP请求与应答)
#include <iostream>#include <sys/socket.h>#include <netinet/ether.h>#include <arpa/inet.h>#include <unistd.h>#include <net/if.h>#include <netpacket/packet.h>#include <cstring>#include <sys/ioctl.h&原创 2021-10-15 16:57:57 · 442 阅读 · 0 评论 -
使用TFTP协议下载文件
TFTP协议最初用于引导无盘系统,被设计用来传输小文件TFTP基于UDP协议。TFTP的编程思想 和 UDP一样TFTP:简单文件传送协特点:基于UDP协议实现不进行用户有效性认证数据传输模式:octet:二进制模式netascii:文本模式mail:已经不再支持TFTP通信过程总结(无选项)服务器在69号端口等待客户端的请求服务器若批准此请求,则使用临时端口与客户端进行通信每个数据包的编号都有变化(从1开始)、逐次递增每个数据包都要得到ACK的确认如果出现超原创 2020-12-22 01:08:36 · 854 阅读 · 0 评论 -
自写简单的抓包程序
需要清楚以太网帧头结构,tcp报头结构、udp报头结构#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/ether.h>#include <unistd.h>#include <stdlib.h>#include <arpa/inet.h>int main(){ int sockfd;原创 2020-12-04 17:54:11 · 995 阅读 · 0 评论