首页 > 其他分享 >lazarus简单实现监控网络设备数据包

lazarus简单实现监控网络设备数据包

时间:2024-01-27 11:55:06浏览次数:19  
标签:begin FHandle end AllDevs 数据包 lazarus ErrBuf 网络设备 pcap

1、准备工作。从Lazarus安装目录中找到pcap.pp。加到工程中,并引用它。win下要安装WinPcap。

2、写一个读取数据的回调

function htons(hostshort: word): word;
begin
Result := ((hostshort and $00FF) shl 8) or ((hostshort and $FF00) shr 8);
end;

procedure PacketHandler(para1: pansichar; Header: PPcap_Pkthdr; Data: pansichar); cdecl;
begin
//是访问80号端口
if (PWord(Data + 36)^ = htons(80)) or (PWord(Data + 38)^ = htons(80)) then

begin

//数据处理

end;

end;

3、加载网卡设备

var

AllDevs: PPcap_If;

FHandle: ppCap;
ErrBuf: array[0..PCAP_ERRBUF_SIZE - 1] of char;

begin

FillChar(ErrBuf, SizeOf(ErrBuf), 0);
AllDevs := nil;
if pcap_findalldevs(@AllDevs, @ErrBuf) = 0 then //找到网络设备
begin

{$IfDef UNIX}
temp:=Dev^.name;
{$Else}
temp:=Dev^.description;
{$IfEnd}

FHandle := pcap_open_live(pansichar(temp), 65536, 1, 1000, @ErrBuf); //打开网络设备

pcap_loop(FHandle, 0, @PacketHandler, nil);//设置数据回调

//退出程序  

pcap_freealldevs(AllDevs);

if FHandle <> nil then
pcap_close(FHandle);

end;

end;

 

以上程序有个问题,在Linux下可以得到网页的数据包。在win下只能得到Html头信息包。不知道为什么。

 

标签:begin,FHandle,end,AllDevs,数据包,lazarus,ErrBuf,网络设备,pcap
From: https://www.cnblogs.com/jwjss/p/17991275

相关文章

  • 在loongxin系统lazarus IDE打开文件对话框出现死机的处理方案
    在loongxin系统使用lazarusIDE打开或保存project等文件出现对话框出现卡死的问题。 原因:loongnixmate桌面有问题和lazarus不兼容,cartoon桌面没这个问题。解决方法:将gtk2-murrine-engine卸载,卸载后lazarus抵足保存或打开文件的对话框已恢复正常,系统主题恢复为原始状态。如果你......
  • 克魔助手工具详解、数据包抓取分析、使用教程
    摘要本文介绍了克魔助手工具的界面和功能,包括数据包的捕获和分析,以及抓包过滤器的使用方法。同时提供了一些代码案例演示,帮助读者更好地理解和使用该工具。引言克魔助手是一款功能强大的网络抓包工具,可以帮助开发人员进行网络数据包的捕获和分析。它提供了直观的界面和丰富的功......
  • 克魔助手抓包教程:网络数据包分析利器
    摘要本文详细介绍了克魔助手(Komoxo)的下载安装、抓包示例、过滤器使用以及TCP三次握手分析等内容。通过丰富的代码案例演示和详细的操作步骤,帮助读者快速掌握克魔助手的使用方法。引言克魔助手是一款流行的网络封包分析软件,广泛应用于开发测试过程中的网络数据包定位与分析。本......
  • 22. 从零用Rust编写正反向代理,一个数据包的神奇HTTP历险记!
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy数......
  • 安卓多网卡UDP通信 指定发送数据包的网卡
    mUDPSocket=newMulticastSocket(PORT);NetworkInterfaceeth0=NetworkInterface.getByName("eth0");mUDPSocket.setNetworkInterface(eth0);看一下setNetworkInterface这个函数的注释......
  • 智能运维:预测风险,提升网络设备性能
    在当今高度信息化的时代,智能运维已经成为企业运营的关键一环。智能运维不仅能提升设备的运行效率,更能预测风险,确保企业业务的稳定运行。本文将详细介绍智能运维的各项功能,包括智能统计、预测报告、预测风险、智能分析以及算法模型管理。一、智能统计:实时监控设备状态智能统计功能实......
  • 关于华为网络设备中配置文件的理解
    基本概念涉及配置文件管理的基本概念有3个:当前配置、配置文件、下次启动的配置文件。(1)当前配置:设备内存中的配置信息称为设备的当前配置,它是设备当前正在运行的配置。显然,设备下电后或设备重启时,内存中原有的所有信息(包括配置信息)都会消失。(2)配置文件:包含设备配置信息的文件......
  • 数字化景区网络设备及摄像头故障诊断与视频画面分析系统
    一、引言    随着数字化技术的快速发展,越来越多的景区开始进行数字化升级,以提升游客体验、提高运营效率及增加景区收入。然而,随着设备数量的增加,如何高效地进行故障诊断和视频画面分析成为了一个重要的问题。本方案旨在解决这一问题,通过构建一个高效的故障诊断与视频画面分......
  • @Zabbix监控网络设备Trap接口UPDOWN关联告警配置
    网络设备Trap接口UPDOWN关联告警配置文章目录网络设备Trap接口UPDOWN关联告警配置SNMPTrap描述1.监控平台监控项配置2.监控平台日志接收3.监控平台触发器配置4.监控平台触发器功能测试1)告警触发2)告警恢复5.告警解析SNMPTrap描述在Zabbix中,SNMPTrap是一种基于SNMP协议的事件通知机......
  • (04)Lazarus上连接并显示SQlLite3数据库
    Lazarus_SQLite完美框架2.zip  链接:https://pan.baidu.com/s/1jYiQ8Ivv52F54TEDSp5ELg提取码:914p 相关文件打包下载 链接:https://pan.baidu.com/s/1gouuR8IfAHnwvNQ5YvZvSg提取码:8i2s01]去官网https://www.sqlite.org/download.html下载对应的SQlite3.dll02]设置SQLQuery1.......