Linux下的DHCP客户端,纯C代码
Linux下的DHCP客户端,纯C代码,有说明文档,可以编译和测试。实际测是可以使用的,可以发送DHCP请求,并获得返回的地址信息。
C# DevExpress GaugeControl控件demo,包括仪表盘、数码管、温度计、交通灯和表情的使用
C# DevExpress GaugeControl控件demo,包括仪表盘、数码管、温度计、交通灯和表情的使用,设置属性和值。
C#源码,vs2008工程,可编译和测试。
C# 基于SharpPcap做的抓以太网报文并保存到pcapng文件
最新版本的SharpPcap(4.2.0.0)版本里面已经没有PcapDumpOpen函数,不能直接调用PcapDumpOpen把抓包保存到文件。新版本使用了CaptureFileWriterDevice类做保存抓包的功能,本demo实现了打开以太网,设置混杂模式,然后创建CaptureFileWriterDevice对象,把抓到的报文通过CaptureFileWriterDevice对象保存到pcapng文件里面,这样就可以使用wireshark来分析抓到的报文了。vs2008工程,全部源代码,可编译和测试。
C#基于SnmpSharpNet做的SNMP客户端(SNMP V1和V2版本)
C#基于SnmpSharpNet做的SNMP客户端(SNMP V1和V2两个版本查询):向目标发起SNMP请求,获取返回的结果并解析返回值。
vs2008工程,全部代码,可直接编译和测试。
C#基于SnmpSharpNet做的SNMP TRAP服务器(包含发送snmp trap消息的测试客户端)
SNMP TRAP消息其实就是UDP报文,TRAP服务器就是UDP服务器(即接收方,UDP端口为162),发送TRAP消息的其实就是UDP客户端。
本demo包含TRAP接收的服务器和发送TRAP消息的UDP客户端两个部分,基于SnmpSharpNet做的,VS2008工程,全部源代码,可直接编译和测试。
运行TRAP服务器端,不需要开启电脑的SNMP服务器。
C#基于DevExpress做的快速从数据文件读取数据并画趋势曲线图
DevExpress的chartcontrol从数据文件读取数据然画画点,正常操作是:打开文件,逐个读取,逐个解析,然后逐个添加到图形控件上,经测试这个方法来加载数据文件速度非常慢,一个几十k的文件加载时间超过1分钟,不可接受。
本demo换了一个快速画图方法:打开文件,读取数据,解析数据,把数据保存到SeriesPoint[]数组里面。数据解析完成后,直接把SeriesPoint[]数组添加到chartcontrol上一把显示出来,经测试速度非常快。
vs2008工程,全部源代码,可编译测试。
C#基于DevExpress做的画趋势曲线图
C#基于DevExpress的chartcontrol做的画趋势曲线图:不断添加数据点,以曲线的方式显示在窗体上。DevExpress的chartcontrol默认是横坐标不断缩放,显示不太符合直观。改成了固定的横坐标,然后从左往右逐个添加数据点,这个时候横坐标是不会缩放的。
全部源代码,vs2008工程,可编译和测试。
C# 基于DevExpress做的流程向导
C# 基于DevExpress做的流程向导:有多个向导界面,包括开始、参数配置和结束。对参数的配置还有验证,确保输入的参数是合法的;在向导结束后,可以取到向导里面配置的参数值。
vs2008工程,全部代码,可编译和测试。
C# SQLite数据库操作
C#下基于System.Data.SQLite做的sqlite数据操作,包括建表、增加、删除和查询。
vs2008工程,全部源代码,可编译和运行。
C# 反射加壳实例,全部代码
C#反射加壳实例:对编译出来的C# exe程序进行反射加壳,原来是利用反射来加壳(复制程序到项目文件中,并设置成为“嵌入式资源”)。由于是利用控制台程序对原exe进程反射加壳,控制台程序启动后有黑屏的控制台窗口,本demo进行了优化,启动后隐藏控制台窗口,只显示加壳前的exe界面。
vs2008工程,全部代码,可编译和测试。
C# SCP文件传输,包括下载和上传
C#基于Renci.SshNet做的SCP客户端,可以从服务器下载文件,或者上传文件到服务器,下载和上传的时候有进度条显示进度信息。
vs2008工程,全部源代码,可编译和测试。
C#查找电脑上指定类型的U盘,比如金士顿的某个型号的U盘,得到盘符
C#查找电脑上指定类型的U盘,比如金士顿的某个型号的U盘,得到盘符
全部C#源代码,vs2008工程,可编译和测试。
C# 利用SharpPcap发送和接收自定义的链路层报文(非IP以太网报文)
C# 利用SharpPcap发送和接收自定义的链路层报文(非IP以太网报文),本例子发送的以太网帧类型为0x55aa,IP报文的以太网帧类型为0x0800。
vs2008工程,可编译和测试。
C#利用SharpPcap发送以太网报文(以太网原始帧),可发送任意以太网帧
C#利用SharpPcap发送以太网报文(以太网原始帧),软件基本流程:从文件读取要发送的帧内容,然后找到电脑上的以太网卡,接下来利用SharpPcap来循环发送。
vs2008工程,全部源代码,可编译和测试。
以太网帧内容可以自己构造任意的帧类型和内容;也可以使用wireshark抓包,然后利用本软件来重放。
wireshark抓包后取数据方法:在wireshark的收到的帧上点右键,选择 复制 -> 为一个HEX流,然后粘贴到一个空文件内,命名为packet.dat,这样本软件就会读取packet.dat内的内容并循环发送了。
C# 禁用和使能网卡,可以使能和禁用以太网卡和无线网卡。
C# 禁用和使能网卡,可以使能和禁用以太网卡和无线网卡。
Vs2008工程,全部代码,可编译和测试。
Linux下通过netlink给网卡添加和删除IP地址(keeplaived和ip命令也是通过netlink来添加删除IP的)
Linux下通过netlink给网卡添加和删除IP地址(keeplaived和ip命令也是通过netlink来添加删除IP的)。纯C代码,gcc可直接编译,测试通过。
netlink添加IP可以让一个网卡拥有多个IP地址(可以通过ip addr命令来查看),而不是通过添加虚拟网卡的方式来实现多IP的。
linux下使用RAW SOCKET接收LLDP报文并解析LLDP报文
linux下使用RAW SOCKET接收LLDP报文并解析,纯C代码,可使用GCC直接编译,测试通过。
C# 匹配NetworkInterface里面的网口和SharpPcap里面网口,解决抓包的时候如何在多个网口中选取所需网口的问题
C# 匹配NetworkInterface里面的网口和SharpPcap里面网口。在多个以太网口的电脑上,使用SharpPcap来抓包的时候需要选择网口,但是SharpPcap里面的网口名字和微软系统里面的网口名字又不相同,“控制面板\网络和 Internet\网络连接”里面的网口名字可以通过NetworkInterface来获取到,但是这里的网口需要和SharpPcap的网口来对应起来。本demo是通过NetworkInterface和SharpPcap里面的MAC地址来匹配的,即同一个网口的MAC地址在NetworkInterface和SharpPcap里面都是相同的,通过MAC地址就可以找到SharpPcap里面的对应网口,从而去使用SharpPcap接口来抓包。SharpPcap获取网口的MAC地址,并没有提供直接的接口,本demo可以解决该问题,提取到SharpPcap网口的MAC地址。
完整源代码,VS2008工程,可以编译和测试
功能完整的epoll tcp服务器和C#客户端,包括接收超时处理、粘包拆包,对收到的数据进行CRC验证然后处理,可作为通用epoll tcp服务器。
基本实现原理:
1)粘包和拆包采用帧头里面加长度信息来做;
2)超时机制:采用一个单独的线程来判断,每次收到数据就更新接收时间。在单独的线程里面判断如果当前时间减去上次接收的时间超过20秒则认为超时,关闭该连接;
3)用到了epoll_event结构体中的 epoll_data.ptr 指针:把客户端的信息保存在 epoll_data.ptr 指针当中,当出现epoll事件的时候从该指针提取客户端信息,然后进行操作。
完整的c代码,可以直接使用gcc编译,编译方法:gcc CreatCRC.c main.c -lpthread
配套有一个C#客户端(vs2008工程,全部源代码),可以向服务器发送数据和接收服务器返回的数据。
linux下的ssh客户端,基于libssh2:连接ssh服务器,发送命令,并获取返回的结果
linux下的ssh客户端,基于libssh2:连接ssh服务器,发送命令,并获取返回的结果。
纯c代码,可gcc直接编译。
自托管web服务器(OWIN来将WebApi托管到控制台程序中来运行)
自托管web服务器(OWIN来将WebApi托管到控制台程序中来运行),不需要用iis等来托管的web服务器,直接双击就可以启动的WebApi服务器。
非常适合开发模拟Web服务器。
参考该代码,也可以自托管到winform程序。
C#, vs2022开发环境,.netframework4.6.2
全部源码,可以直接编译和运行。
基于LibVLCSharp做的视频文件播放
基于LibVLCSharp做的视频文件播放demo,具有播放、暂停、快进、快退、停止功能。vs2019工程,可直接编译和测试。
C#通过LibVLCSharp来录制电脑屏幕
C#通过LibVLCSharp来录制电脑屏幕,vs2019工程,全部代码,可编译测试。
C#通过LibVLCSharp得到视频文件的播放时长信息
LibVLCSharp来获取视频文件的播放时长,代码简洁,比通过shell32好用多了(shell32有的系统不支持)。vs2019工程,全部代码,可编译测试。
C# 802.1x客户端源码(EAP-MD5方式)
C# 802.1x客户端源码(EAP-MD5方式)。全部源代码,vs2008工程,可编译和运行,本地测试通过,可以通过802.1x认证。
C#基于Accord的录屏实现,可录下鼠标移动和键盘输入
C#基于Accord的录屏实现,并且可以录下鼠标移动和键盘输入,录屏生成视频文件,全部源代码,vs2019工程。
工程使用的是accord 3.8.2版本,.net版本为4.62,如果是其他的.net版本可能需要更换响应.net版本的accord dll文件。
linux下的802.1x客户端源代码(EAP-MD5认证)
linux下的802.1x客户端源代码,采用的是EAP-MD5认证。最简单的802.1x客户端代码,只有一个c文件,基于pcap实现(需要安装libpcap)。可直接编译和运行,自己测试通过。
C#使用公钥指数、私钥指数和模数进行私钥加密、公钥解密
C#使用公钥指数、私钥指数和模数进行私钥加密、公钥解密,可和Linux、Java配合加解密(比如C#加密,Java解密);C#使用的是BouncyCastle.Crypto进行加密及解密。测试过C#加密,用Linux C代码来解密,正常。
vs2008工程,全部源码。
linux下使用libevent实现断网重连的tcp客户端
linux下使用libevent实现断网重连的tcp客户端,自动检测tcp连接断开,断开后能自动重连;如果连不上服务器,则一直尝试连接服务器,直至连接成功。
linux c 基于netsnmp写的trap服务器
linux下基于netsnmp写的trap服务器,纯C代码,可解析出trap发送方的地址及trap消息内容,可直接编译和测试。编译方法为:
gcc trap.c -lnetsnmp
linux C实现的FTP客户端(包括上传、下载和List)
linux C实现的FTP客户端(包括上传、下载和List),上传、下载功能非常完整,有各种异常处理。
在linux下C语言通过libevent操作串口
在linux下C语言通过libevent操作串口,通过libevent来实现回调读取串口数据。全部C代码,可直接编译和测试。
libevent和线程池配合实现的高并发tcp服务器
全部C代码,linux下的线程池和libevent配合实现的高并发tcp服务器,tcp通讯采用分帧的方式发包,帧包含帧头和数据部分,使用libevent的bufferevent方式来实现的帧提取,可直接使用GCC来编译。还配套有一个C#写的客户端测试程序。
和原来的比有优化,增加了多线程的支持。
linux下的c语言写的计算文件md5、文件和md5值是否匹配
linux下的c语言写的计算文件md5、文件和md5值是否匹配代码,计算出来的文件md5和md5sum工具计算出来的是一样的。纯c代码,包括编译说明,可直接编译和测试。
线程池和libevent配合实现的高并发tcp服务器 (不要下载,有缺陷,不能删除)
linux下的线程池和libevent配合实现的高并发tcp服务器,tcp通讯采用分帧的方式发包,帧包含帧头和数据部分,使用libevent的bufferevent方式来实现的帧提取。还配套有一个C#写的客户端测试程序。
C# 利用AForge实现的摄像头功能:打开/关闭摄像头、拍照(存储和展示)
C# 利用AForge实现的摄像头功能,搜索所有的摄像头设备,打开/关闭摄像头、拍照存储和显示,另外包括一个如何加载AForge.dll中的videoSourcePlayer的文档(默认工具栏里面是没有VideoSourcePlayer的)。全部源代码,完整的vs2008工程,可编译和测试。
C# 找到电脑上的所有物理以太网卡、虚拟以太网卡、物理无线网卡和虚拟无线网卡
有时候电脑上的网口比较多,有物理的(真实的,硬件上存在的)和虚拟(软件虚拟出来的,硬件上不存在的网口,以太网和无线均有虚拟的)的,本demo可找到电脑上的所有物理以太网卡、虚拟以太网卡、物理无线网卡和虚拟无线网卡,C#源代码,vs2008工程,可编译和测试。
C# 删除保存的WIFI网络名
C# 删除保存的WIFI网络名:利用netsh命令来实现的,创建一个进程,调用netsh命令实现对某个WIFI网络的删除。C#源代码,vs2008工程,可编译和测试。
C# 通过API接口来实现DHCP重新获取地址(获取成功后显示获取到的地址信息)和释放地址
C# 通过API接口来实现DHCP重新获取地址(获取成功后显示获取到的地址信息)和释放地址,vs2008工程,全部代码,可编译和测试。
Linux下C语言操作静态ARP表,包括增加、查询和删除,完整源代码
Linux下C语言操作静态ARP表,包括增加、查询和删除,完整源代码,直接gcc可以编译,可运行测试。