wireshark抓到的数据包 怎么样能数据提取出来利用其他程序编程分析?

wireshark抓到的数据包 怎么样能数据提取出来利用其他程序编程分析?,第1张

1)如果是一些已经有插件可以提取的数据,可以直接使用,比如voip分析这块就可以直接导出G711的音亮陵碧频码流,甚至直接汪郑播放敬举

2)如果wireshark还没有插件支持,自己写代码支持,比如用lua插件,或者直接用winpcap 开发包来 *** 纵截包处理。

可以用windows api写入ini, 然后用windows api读取。

WritePrivateProfileStruc

GetPrivateProfileStruct

这两个很方便。

http://msdn.microsoft.com/en-us/library/ms725502(VS.85).aspx

用API写INI文件的函数有

BOOL WritePrivateProfileString(

LPCTSTR lpAppName, // 节名

LPCTSTR lpKeyName, // 键名

LPCTSTR lpString, // 添加的字符串

LPCTSTR lpFileName // Ini文件名

)

BOOL WritePrivateProfileStruct(

LPCTSTR lpszSection, // pointer to section name

LPCTSTR lpszKey, // pointer to key name

LPVOID lpStruct, // 要写入的数据拿郑逗缓冲区

UINT uSizeStruct, // 缓冲区的大小

LPCTSTR szFile // pointer to initialization filename

)

BOOL WritePrivateProfileSection(

LPCTSTR lpAppName, // pointer to string with section name

LPCTSTR lpString, // 写入的字符串

LPCTSTR lpFileName // pointer to string with filename

)

用API读INI文件的消卖函数丛铅有

DWORD GetPrivateProfileString(

LPCTSTR lpAppName, // points to section name

LPCTSTR lpKeyName, // points to key name

LPCTSTR lpDefault, // 默认字符串 ,如果没有则返回该值

LPTSTR lpReturnedString, // 返回的字符串

DWORD nSize, // 返回字符串的大小

LPCTSTR lpFileName // points to initialization filename

)

DWORD GetPrivateProfileSection(

LPCTSTR lpAppName, // address of section name

LPTSTR lpReturnedString, // address of return buffer

DWORD nSize, // size of return buffer

LPCTSTR lpFileName // address of initialization filename

)

UINT GetPrivateProfileInt(

LPCTSTR lpAppName, // address of section name

LPCTSTR lpKeyName, // address of key name

INT nDefault, // return value if key name is not found

LPCTSTR lpFileName // address of initialization filename

)

BOOL GetPrivateProfileStruct(

LPCTSTR lpszSection, // address of section name

LPCTSTR lpszKey, // address of key name

LPVOID lpStruct, // address of return buffer

UINT uSizeStruct, // size of return buffer

LPCTSTR szFile // address of initialization filename

)

DWORD GetPrivateProfileSectionNames(

LPTSTR lpszReturnBuffer, // address of return buffer

DWORD nSize, // size of return buffer

LPCTSTR lpFileName // address of initialization filename

)

当然还有如WriteProfileString,WriteProfileSection,WriteProfileSturct, GetProfileString,GetProfileStruct,GetProfileSectionNames,GetProfileInt,GetProfileSection但这些只对Win.ini有效

下面我们来学习它们的用法

WritePrivateProfileString函数是向ini文件中写入字符串,如

WritePrivateProfileString(Pchar('类型'),Pchar('API'),Pchar('API 真好!'),Pchar('c:\example.ini'))

如果第二个参数是nil,那么该 *** 作将删除该节

如果第三个参数为nil,那么该 *** 作将删除该节中的所有键

如果在指定的文件中没有路径,那么它将在系统的目录寻找文件,如果不存在则建立

WritePrivateProfileSection是向文件中写入一整个键,其它键的格式为key = value,如

WritePrivateProfileSection(Pchar('类型'),Pchar('其它=123'),Pchar('c:\example.ini'))

注意,该 *** 作将删除该节中的所有键后在进行本次的写入

WritePrivateProfileStruct是向文件中写入一个结构,如

type

TPerson = record

Name:string

Age:integer

end

var

Per:TPerson

WritePrivateProfileStruct(Pchar('类型'),Pchar('结构'),@Per,Sizeof(Per),Pchar('C:\example.ini'))

GetPrivateProfileString是从文件中读出一个指定键的字符串,如果没有找到,则返回默认值

GetPrivateProfileString(Pchar(‘类型'),Pchar('API'),Pchar('no value'),Str1,21,Pchar('c:\example.ini'))

GetPrivateProfileSection是从文件中读出一整个键

GetprivateProfileSection('类型',str1,200,'c:\example.ini')

GetPrivateProfileInt是从文件中读出指定键的整型值,如果没找到或不是整型的值,则返回默认值,如果返回值小于0,则返回0,如

i:=GetPrivateProfileInt(Pchar('类型'),Pchar('整型'),i,Pchar('C:\example.ini'))

showMessage(inttostr(i))

GetPrivateProfileStruct从文件中读出指定键的结构值,如

type

TPerson = record

Name:string

Age:integer

end

var

Buffer:TPerson

GetPrivateProfileStruct(Pchar('类型'),Pchar('结构'),@Buffer,Sizeof(Per),Pchar('C:\example.ini'))

GetPrivateProfileSectionNames是从文件中读出所有节的名称,该函数返回读入缓冲区的字符数,如

count:=GetPrivateProfileSectionNames(Str3,200,Pchar('c:\example.ini'))

ShowMessage(Str3)

此处显示的只是第一个节的名称,如果要显示第二个字符的名称则要用到下面这句

showmessage(str3+5)

这句不用多解释吧?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12369312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存