Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux 网络编程—— libnet 使用指南

Linux 网络编程—— libnet 使用指南

概述通过《原始套接字实例:发送 UDP 数据包》的学习,我们组 UDP 数据包时常考虑字节流顺序、校验和计算等问题,有时候会比较繁琐,那么,有没有一种更简单的方法呢?答案是:借助 libnet 函数库。libnet 是一个小型的接口函数库,主要用 C 语言写成,提供了低层网络数据包的构造、处理和发送功能。libnet 的开发目的是:建立一个简单统一的网络编程接口以屏蔽不同操作系统底层网络编程的差别,使得程序员将精力集中在解决关键问题上。libnet 库提供...
libnet 函数列表

libnet 函数列表

libnet提供的接口函数按其作用可分为四类:* 内存管理(分配和释放)函数* 地址解析函数* 数据包构造函数* 数据包发送函数以下分别列出这些接口函数及其功能(其参数含义简单易懂,不再解释):★内存管理函数单数据包内存初始化:int libnet_init_packet(u_short packet_size, u_char **buf);单数据包内存释放:void libnet_destroy_packet(u_char **buf);多数据包内存初始...
Android应用安全之数据传输安全

Android应用安全之数据传输安全

Android软件通常使用WIFI网络与服务器进行通信。WiFi并非总是可靠的,例如,开放式网络或弱加密网络中,接入者可以监听网络流量;攻击者可能 自己设置WIFI网络钓鱼。此外,在获得root权限后,还可以在Android系统中监听网络数据。不加密地明文传输敏感数据 最危险的是直接使用HTTP协议登录账户或交换数据。例如,攻击者在自己设置的钓鱼网络中配置DNS服务器,将软件要连接的服务器域名解析至攻击者的另一台服务器在,这台服务器就可以获得用户登录信息...
深入理解二进制补码

深入理解二进制补码

背景大家都知道计算机内部采用补码表示整数的,但是具体到补码的内在含义,很多人不能理解,故我们分享自己的理解。首先说下补码的定义以及基本性质: 1) 正数的补码和原码相同; 2) 负数的补码等于取反后加1; 3) 0的正负两种补码相同; 4) 对一个补码再求补码等于自己; 5) 一个正数的原码和其对应的负数的补码相加等于模;针对本文,我们其实只关心规则1)和2)即可。----------------------------------------------...
Java: 使用信号量(Semaphore)保护多个共享资源的访问

Java: 使用信号量(Semaphore)保护多个共享资源的访问

信号量(semaphore)机制是一种常用的同步机制,在现代OS中被广泛采用。semaphore是一个非0值,当它的值大于0时表示系统目前还有足够的资源分配给请求线程,每分配出去一个资源,值递减。当值等于0时表示当前已无资源可分配。JDK提供了Semaphore类来实现信号量。假如我们一共有3台打印机可用,当前有N个线程都请求使用打印机,要实现对打印机这种资源的访问保护,有以下两种方式:每当一个线程请求使用打印机时,检查当前是否有空闲打印机可用,如果有则分...
Linux Glibc幽灵漏洞紧急修补方案

Linux Glibc幽灵漏洞紧急修补方案

幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者在不了解系统的任何情况下远程获取操作系统的控制权限。目前他的CVE编号为CVE-2015-0235。什么是glibcglibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。glibc 囊括了几乎所有的 UN...
如何改善Java中锁的性能

如何改善Java中锁的性能

两个月前向Plumbr公司引进线程死锁的检测之后,我们开始收到一些类似于这样的询问:“棒极了!现在我知道造成程序出现性能问题的原因了,但是接下来该怎么做呢?”我们努力为自己的产品所遇到的问题思考解决办法,但在这篇文章中我将给大家分享几种常用的技术,包括分离锁、并行数据结构、保护数据而非代码、缩小锁的作用范围,这几种技术可以使我们不使用任何工具来检测死锁。锁不是问题的根源,锁之间的竞争才是通常在多线程的代码中遇到性能方面的问题时,一般...
Linux出现重大漏洞 GHOST ?

Linux出现重大漏洞 GHOST ?

此漏洞经由 GetHOST 功能触发,因而被简称为 GHOST。虽然含有该漏洞的 glibc 是在2000年11月所释出的版本,在2013年的3月就已被修补,再次证明系统更新的重要性。这个被称为 GHOST (CVE-2015-0235) 的漏洞位于 Linux 的 glibc 函式库中,允许入侵者从远端入侵系统。glibc亦被称为GNU C函式库,为一开放源码且被广泛使用的C语言函式库,它支援多种Linux平台,被视为Linux平台上的重要元件,缺乏 g...
Qt绘制异形窗体

Qt绘制异形窗体

异形窗体即不规则窗体,一般采用png图片,一般绘制异形窗体分两步:1、设置遮罩区 2、绘制图片使用png图片的透明部分作为遮罩区,然后绘制图片,这样我们就看到一个只绘制了非透明部分的图形,废话少说,以实现绘制一只蝴蝶(蝴蝶为半透明)为例,效果如下:头文件: 1: #include <QWidget> 2: class TransDialog : public QWidget 3: { 4: Q_OBJECT 5: public: 6: expl...
Qt自定义菜单项

Qt自定义菜单项

经常会看到一些菜单的部分项是由几个按钮组成的,如酷狗、QQ、360都有类似菜单,对于常规的菜单项,图标 + 文字 实现一个事件,很容易完成,那么怎么自定义菜单项呢?Qt提供了支持,就是利用QWidget + QWidgetAction来完成。QWidgetAction继承自QAction,无法通过继承来实现一个界面,但它提供了setDefaultWidget来绑定一个界面,使用起来就更加方便了。下面实现一个没有Action的菜单,并通过按钮显示出来:voi...
<< 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 >>