- 博客(14)
- 收藏
- 关注
原创 Linux下的packet socket使用总结
上节讲到的RAW socket虽然已经能处理IP层的数据了,但是在实际的应用中可能需要获取更加底层的报文信息。这就需要用到另一种更加强大的socket创建方式——packet socket,创建之后直接可以操作包括以太层在内的报文数据。packet socket的创建方式如下:socket(AF_PACKET, int socket_type, int protocol);其中socket_type
2015-03-11 21:03:45
3930
原创 汇编指令对照表
指令后缀 后缀 大小(字节) C语言对应 b 1 char w 2 short l 4 (unsigned) int / long / char* s 4 float 寻址指令 名称 汇编样例 含义 立即数寻址 $ 1 1 寄存器寻址 %eax eax 绝对寻址 0x104 *0x104 间接
2015-03-11 20:52:53
2319
原创 Linux netlink socket使用总结
一、netlink机制的引入Linux提供了多种机制来完成内核空间与用户空间之间的数据交换,分别有内核启动参数、模块参数、sysfs、sysctl、系统调用、procfs、seq_file、debugfs、relayfs。其中,模块参数、sysfs、sysctl、procfs、seq_file、debugfs、relayfs是基于文件系统的通信机制,用于内核空间向用户空间输出信息;sysctl、系统
2015-03-11 20:47:31
13215
3
原创 Linux获取所有网口及其详细信息
获取方法: 调用getifaddrs接口来获取,调用freeifaddrs接口来释放内存 需包含: #include #include 参考代码: #include #include #include #include #include #include int main(int argc, char* argv[]) { struct ifaddr
2014-12-18 20:35:16
2345
原创 Linux 获取所有网口及其索引
获取方法:调用if_nameindex()接口,调用if_freenameindex接口来释放已内存 代码: #include #include #include int main() { struct if_nameindex *if_lst = if_nameindex(); struct if_nameindex *if_node = if_lst
2014-12-18 20:32:38
1274
原创 常用正则表达式收集
1. 检查IP地址合法性 ((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))
2014-11-17 10:17:14
372
原创 Linux修改用户默认目录的方法
修改/etc/passwd 文件,将对应用户的路径改为你想要的。 如,要修改root用户的默认目录为/opt,etc/passwd目录下文件内容如下: root:x:0:0:root:/root:/bin/bash nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/false man:x:13:62:Manual pages viewer:/
2014-11-03 15:14:33
1546
原创 Linux通过socket获取网口相关信息
一、通过网口名称获取网口索引 主要用于调用sendmsg等接口发送报文时填充网口索引 #include #include #include #include #include #include int get_dev_index_by_dev_name(int sock_fd, char *dev) { int ret = -1; struct
2014-10-21 20:46:35
1230
原创 Linux下Eclipse使用NDK开发Android应用
Google提供的Android SDK 已经能够满足绝大多数场景下的Android
2014-10-12 11:38:46
1358
原创 Linux Raw Socket使用总结
学过socket基础编程的同学都知道,应用层socket(如使用SOCK_STREAM创建的TCP socket,SOCK_DGRAM创建的UDP socket)都只能收发应用层的数据,出于业务应用的需要,可能需要获取IP层甚至是以太层的数据,这就需要用到socket接口中另一种更加强大的类型RAW socket。 使用SOCK_RAW创建的RAW socket,可以收发包含IP层的报文
2014-10-10 18:58:24
3145
原创 Linux常见协议类型结构体定义
IP头: struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4, version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __u8 version:4, ihl:4; #else #error "Please fix " #endif __u8 tos; __b
2014-10-08 10:28:11
3135
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人