网上kepserver作modbusRTU的文章很多,modbusTCP的很少,仅有文章中,kepware通信类似于modbusRTU作上位机,实质是kepserver工作在TCPclient模式,现有文章用modsim32选择modbusTCP协议模仿仪表发送数据,kepserver接收数据就是这种方式。
其实实践中有很多智能仪表设备是工作在TCPclient模式,这就要求kepserver必须工作在TCPserver模式,笔者通过查询资料做实验,发现kepserver可以工作在TCPserver模式。
下面用modsan32作clien模仿发送数据kepserver作TCPserver接收数据
2019/9/10 14:34:52 1.99MB kepware kepserver modbusTCP modbusEthernet
1
什么是tfn2k?  tfn2k通过主控端利用大量代理端主机的资源进行对一个或多个目标进行协同攻击。
当前互联网中的unix、solaris和windowsnt等平台的主机能被用于此类攻击,而且这个工具非常容易被移植到其它系统平台上。
  tfn2k由两部分组成:在主控端主机上的客户端和在代理端主机上的守护进程。
主控端向其代理端发送攻击指定的目标主机列表。
代理端据此对目标进行拒绝服务攻击。
由一个主控端控制的多个代理端主机,能够在攻击过程中相互协同,保证攻击的连续性。
主控央和代理端的网络通讯是经过加密的,还可能混杂了许多虚假数据包。
整个tfn2k网络可能使用不同的tcp、udp或icmp包进行通讯。
而且主控端还能伪造其ip地址。
所有这些特性都使发展防御tfn2k攻击的策略和技术都非常困难或效率低下。
  tfn2k的技术内幕  ◆主控端通过tcp、udp、icmp或随机性使用其中之一的数据包向代理端主机  发送命令。
对目标的攻击方法包括tcp/syn、udp、icmp/ping或broadcast  ping(smurf)数据包flood等。
  ◆主控端与代理端之间数据包的头信息也是随机的,除了icmp总是使用  icmp_echoreply类型数据包。
  ◆与其上一代版本tfn不同,tfn2k的守护程序是完全沉默的,它不会对接收  到的命令有任何回应。
客户端重复发送每一个命令20次,并且认为守护程  序应该至少能接收到其中一个。
  ◆这些命令数据包可能混杂了许多发送到随机ip地址的伪造数据包。
  ◆tfn2k命令不是基于字符串的,而采用了"++"格式,其中是  代表某个特定命令的数值,则是该命令的参数。
  ◆所有命令都经过了cast-256算法(rfc2612)加密。
加密关键字在程序编  译时定义,并作为tfn2k客户端程序的口令。
  ◆所有加密数据在发送前都被编码(base64)成可打印的ascii字符。
tfn2k  守护程序接收数据包并解密数据。
  ◆守护进程为每一个攻击产生子进程。
  ◆tfn2k守护进程试图通过修改argv[0]内容(或在某些平台中修改进程名)  以掩饰自己。
伪造的进程名在编译时指定,因而每次安装时都有可能不同。
  这个功能使tfn2k伪装成代理端主机的普通正常进程。
因而,只是简单地检  查进程列表未必能找到tfn2k守护进程(及其子进程)。
  ◆来自每一个客户端或守护进程的所有数据包都可能被伪造。
  监测tfn2k的特征
1
UART串口Verilog通讯cpldquartus10.1逻辑工程源码+自定义uart协议说明,已在项目中使用,可以做为你的设计参考。
下位机与上位机通讯协议:1、通讯采用异步串口通讯,波特率为115.2KBPS,2、上位机发送数据格式:55--F1--DATA1--DATA2--FFDATA1GPIO输出高低控制;
DATA2GPIO32路GPIO选择控制;
下位机uartCPLD接收数据【控制32路GPIO输】55F101(00-1F)FF32路GPIO中的一路输出高55F108
1
EXCEL从串口接收数据。
单片机AVR从串口发送数据。
2017/6/2 7:17:35 2.89MB EXCEL AVR
1
STM32F103单片机上实现,串口2经过DMA接收数据,串口1将串口2接收到的数据经过DMA发送出去。
2018/2/5 14:08:13 595KB STM32 103 接收 DMA
1
支持串口大量数据读写操作,能一次性读取数据,通过设置超时大小控制一次读取串口所有数据。
支持事件触发,异步发送接收数据。
附件有demo,可下载VirtualSerialPortDriver模仿串口测试。
2022/10/8 6:15:35 51KB SerialPort 高性能读写
1
适合想通过本人蓝牙发送接收数据的新手
2018/1/18 23:42:47 52KB 安卓
1
stm32实现串口通讯uart1电脑串口发送、接收数据,已测试经过。
2019/8/26 21:33:48 4KB stm32 uart
1
购买于有人的sx1278模块,型号wh-lr30,基于stm32f103平台和429平台驱动代码1.keil工程,std库和hal库2.使用正点原子的精英版和阿波罗板开发,基于24L01的例程修改的,接口使用24L01的接口刚好,液晶显示发送数据和接收的数据3.硬件连接:使用DIO0-5也可,不使用也可(不使用的话通过读取寄存器标志完成通信)。
ps:刚开始调试,spi通信正常,无法通信,原因是没有连接DIO0-5,只用了spi+复位5根线,死活通不了,后来细心阅读官方代码,发现有用到DIO引脚,利用官方代码的话,只接一个DIO0也可以通信的,就是不能不接,实在不想接的话,就把读取DIO0的代码改为读取寄存器,也可以的。
4.主机和从机使用同一份代码,初始化完成之后,按下key0,处于接收数据状态(收到数据打印)。
按下key1,处于发送数据状态(500ms发送一次)交流Q778575669这个代码只是429的
2016/5/13 17:09:11 1.04MB lora驱动 sx1278驱动 stm32 kile
1
最近有项目要做一个高功能网络服务器,决定下功夫搞定完成端口(IOCP),最终花了一个星期终于把它弄清楚了,并用C++写了一个版本,效率很不错。
但,从项目的总体需求来考虑,最终决定上.net平台,因此又花了一天一夜弄出了一个C#版,在这与大家分享。
一些心得体会:1、在C#中,不用去面对完成端口的操作系统内核对象,Microsoft已经为我们提供了SocketAsyncEventArgs类,它封装了IOCP的使用。
请参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1。
2、我的SocketAsyncEventArgsPool类使用List对象来存储对客户端来通信的SocketAsyncEventArgs对象,它相当于直接使用内核对象时的IoContext。
我这样设计比用堆栈来实现的好处理是,我可以在SocketAsyncEventArgsPool池中找到任何一个与服务器连接的客户,主动向它发信息。
而用堆栈来实现的话,要主动给客户发信息,则还要设计一个结构来存储已连接上服务器的客户。
3、对每一个客户端不管还发送还是接收,我使用同一个SocketAsyncEventArgs对象,对每一个客户端来说,通信是同步进行的,也就是说服务器高度保证同一个客户连接上要么在投递发送请求,并等待;
或者是在投递接收请求,等待中。
本例只做echo服务器,还未考虑由服务器主动向客户发送信息。
4、SocketAsyncEventArgs的UserToken被直接设定为被接受的客户端Socket。
5、没有使用BufferManager类,因为我在初始化时给每一个SocketAsyncEventArgsPool中的对象分配一个缓冲区,发送时使用Arrary.Copy来进行字符拷贝,不去改变缓冲区的位置,只改变使用的长度,因此在下次投递接收请求时恢复缓冲区长度就可以了!如果要主动给客户发信息的话,可以new一个SocketAsyncEventArgs对象,或者在初始化中建立几个来专门用于主动发送信息,因为这种需求一般是进行信息群发,建立一个对象可以用于很多次信息发送,总体来看,这种花销不大,还减去了字符拷贝和消耗。
6、测试结果:(在我的笔记本上时行的,我的本本是T420I78G内存)100客户100,000(十万次)不间断的发送接收数据(发送和接收之间没有Sleep,就一个一循环,不断的发送与接收)耗时3004.6325秒完成总共10,000,000一千万次访问平均每分完成199,691.6次发送与接收平均每秒完成3,328.2次发送与接收整个运行过程中,内存消耗在开始两三分种后就保持稳定不再增涨。
看了一下对每个客户端的延迟最多不超过2秒。
2020/5/13 2:27:34 15KB IOCP 完成端口 源码
1
共 166 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡