- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 const u_char* 深度复制到 c/++ 中的另一个 const u_char*。
我有以下代码 -
void packetHandler(u_char *userData, const struct pcap_pkthdr* pkthdr, const u_char* packet)
{
if(packet!=NULL)
{
int length = strlen((char*)packet);
const u_char* newPacket = new u_char[length];
memcpy((u_char*)newPacket, packet, length);
cout<<"Packet - "<<packet<<endl;
cout<<"New Packet - "<<newPacket<<endl;
packets.push_back(newPacket);
//processPacket(packet);
}
}
但我认为它没有被正确复制,因为两个拷贝的操作结果是不同的。
数据必须采用 const u_char* 形式,如 pcap 循环方法签名所规定。
我正在使用[使用 tcpdump 获得的]类型的更大样本进行测试,其中每个数据包都按顺序读取,并且我收到一个指向它的 const u_char* 指针 -
Ôò¡ ÿÿ …®xVÅ H H RT 5 'Vc E :c@ @Z˜
À¨ìq 5 &Îïæ9 helloBelkin …®xVcÆ H H RT 5 'Vc E :d@ @Z—
À¨=š 5 &Îï%ý helloBelkin …®xVž} h h 'VcRT 5 E ZJ6 @a¥À¨
5ìq FÀ6æ9€ helloBelkin À P ÆiôÀ P Æiþ…®xV«ü H H 'VcRT 5 E :J7 @aÄÀ¨
5=š &/#%ý€ helloBelkin …®xV.ÿ J J RT 5 'Vc E <ÿ‚@ @tµ
ÆiôÕ PÚPq) rƲ ´
Ž« …®xVÒ
J J RT 5 'Vc E <Ä'@ @°
ÆiôÕ P–´JÎ rƲ ´
Žé …®xVBg J J RT 5 'Vc E <@ @ÒÛ
6ïÕ¼- Pùu€ý rZ ´
Žó …®xVæi J J RT 5 'Vc E <ÅX@ @‘
6ïÕ¼. P€µK« rZ ´
Žó …®xVOo J J RT 5 'Vc E <O@ @Ýš
6ïÕ¼/ P õ¼ rZ ´
Žó …®xV} ½ ½ RT 5 'Vc E ¯gB@ @p‰
6ï€¨× PDMyå ¯SúPÿÿc GET /uedata/nvp/unsticky/191-8029364-1340752/Gateway/ntpoffrw?ul&v=0.189.0&id=1S5BSQ8X89KSY51N9J21&m=1&sc=1S5BSQ8X89KSY51N9J21&ue=43&ns=154&af=266&cf=266&ne=290&be=1635&pc=79838&tc=-331&na_=-331&ul_=-72&_ul=-69&rd_=-1450749493906&_rd=-1450749493906&fe_=-321&lk_=-321&_lk=-321&co_=-321&_co=-321&rq_=-303&rs_=-73&_rs=681&dl_=-72&di_=1638&de_=1728&_de=1790&_dc=-1450749493906&ld_=-1450749493906&_ld=-1450749493906&ntd=-1&ty=0&rc=0&hob=42&hoe=43&ul=79839&t=1450749573745&ctb=1&csmtags=aui|aui:aui_build_date:3.15.11.2-2015-12-07|gwCFImgCache|fls-na|iss-on-time|aui:ajax&viz=visible:43&pty=Gateway&spty=desktop&pti=desktop&tid=1CRMQKHG3GSKG0WDK809&aftb=1&ui=2 HTTP/1.1
Host: www.amazon.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://www.amazon.com/
Cookie: skin=noskin; x-wl-uid=1vOeLJIaacYseg7dzznzr+FooV74I+GQLqTAS6uFsLJp5FSidiwiAV3ZsaLsOqphLaudQoD/mgJw=; session-id-time=2082787201l; session-id=191-8029364-1340752; ubid-main=187-1501615-8388412; session-token=Ak43AtGsZnoAOQQb+XIkTS4a549quhOhBlX1ts3xyzgs8iWj/uszLKnxvWgDp+UyqMHU8O4d0H9jTaMm+8pCNXH4wwHbtHD0GifwVGrOzBDR1/z4SWS6KjHXrH7kQqxAc45oXpmIyVN/z8n8heYWSbE+2TuReYT3rFTtTixrGR2cheyT9dAXsXkruQwcywgrtPp+kx+JzSLBFp2+tgSN66c+ZxSdl/PdbnQvY58fXJrYyJJoIN2LdoRhEBcwPaPy
Connection: keep-alive
…®xVȃ < < 'VcRT 5 E (J8 @Ó6ï€
P¨× ¯SúDMlPÿÿpÌ …®xVŽz < < 'VcRT 5 E ,J9 @ÖÀ6ïÕ
P¼-!ùu€þ`ÿÿÍ£ ´ …®xV¯z 6 6 RT 5 'Vc E (@ @Òî
6ïÕ¼- Pùu€þ!PrYí …®xV®{ ê ê RT 5 'Vc E Ü@ @Í9
6ïÕ¼- Pùu€þ!Pr_¡ GET /1/batch/1/OP/ATVPDKIKX0DER:191-8029364-1340752:1S5BSQ8X89KSY51N9J21$uedata=s:%2Fuedata%2Fnvp%2Funsticky%2F191-8029364-1340752%2FGateway%2Fntpoffrw%3Ful%26v%3D0.189.0%26id%3D1S5BSQ8X89KSY51N9J21%26m%3D1%26sc%3D1S5BSQ8X89KSY51N9J21%26ue%3D43%26ns%3D154%26af%3D266%26cf%3D266%26ne%3D290%26be%3D1635%26pc%3D79838%26tc%3D-331%26na_%3D-331%26ul_%3D-72%26_ul%3D-69%26rd_%3D-1450749493906%26_rd%3D-1450749493906%26fe_%3D-321%26lk_%3D-321%26_lk%3D-321%26co_%3D-321%26_co%3D-321%26rq_%3D-303%26rs_%3D-73%26_rs%3D681%26dl_%3D-72%26di_%3D1638%26de_%3D1728%26_de%3D1790%26_dc%3D-1450749493906%26ld_%3D-1450749493906%26_ld%3D-1450749493906%26ntd%3D-1%26ty%3D0%26rc%3D0%26hob%3D42%26hoe%3D43%26ul%3D79839%26t%3D1450749573745%26ctb%3D1%26csmtags%3Daui%7Caui%3Aaui_build_date%3A3.15.11.2-2015-12-07%7CgwCFImgCache%7Cfls-na%7Ciss-on-time%7Caui%3Aajax%26viz%3Dvisible%3A43%26pty%3DGateway%26spty%3Ddesktop%26pti%3Ddesktop%26tid%3D1CRMQKHG3GSKG0WDK809%26aftb%3D1%26ui%3D2:79840 HTTP/1.1
Host: fls-na.amazon.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://www.amazon.com/
Cookie: skin=noskin; x-wl-uid=1vOeLJIaacYseg7dzznzr+FooV74I+GQLqTAS6uFsLJp5FSidiwiAV3ZsaLsOqphLaudQoD/mgJw=; session-id-time=2082787201l; session-id=191-8029364-1340752; ubid-main=187-1501615-8388412; session-token=Ak43AtGsZnoAOQQb+X…®xVò{ @ @ RT 5 'Vc E 2@ @Ñâ
6ïÕ¼- Pùu†²!PrZ÷ IkTS4a549quhOhBlX1ts3xyzgs8iWj/uszLKnxvWgDp+UyqMHU8O4d0H9jTaMm+8pCNXH4wwHbtHD0GifwVGrOzBDR1/z4SWS6KjHXrH7kQqxAc45oXpmIyVN/z8n8heYWSbE+2TuReYT3rFTtTixrGR2cheyT9dAXsXkruQwcywgrtPp+kx+JzSLBFp2+tgSN66c+ZxSdl/PdbnQvY58fXJrYyJJoIN2LdoRhEBcwPaPy
Connection: keep-alive
我想做的是将 pcap 文件中的所有数据包加载到内存缓冲区中以进行高速测试,如果从文件中读取每个数据包,速度可能会很慢。
任何指点将不胜感激。
最佳答案
我能够找出我的问题。长度不对。我应该使用数据包 header 中的长度。不管怎样,我觉得使用 strlen 对于 unsigned char 来说不是正确的选择。
我用另一篇文章弄清楚了 - vector of packets in libpcap
关于c++ - 将 libpcap 数据包数据从 const u_char* 复制到另一个 const u_char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506933/
标记为家庭作业,因为这是我写的期中问题,但我不明白答案。我被要求在以下语句中解释每个 const 的用途: const char const * const GetName() const { ret
const int* const fun(const int* const& p) const; 我试图弄清楚这个给定函数原型(prototype)的输入参数。我在这两个之间争论,不确定哪个是正确的。
下面的代码用于在同时存在 const 和非 const getter 时减少代码重复。它从非 const 创建 const 版本。我搜索了一下,很多人说我应该从 const 创建非 const 版本。
据我所知,TypeScript 查看了 const string变量作为一个不可变的类型变量,只有那个值,没有其他可能的值。一直以为加as const那是多余的。 为什么我在示例的第二部分得到以下内容
我有一个具有以下签名的方法: size_t advanceToNextRuleEntryRelatedIndex( size_t index, size_t nStrings, char const
首先,有什么区别: (1) const char* (2) char const* (3) const char const* 我相当确定我完全理解这一点,但我希望有人能具体地给我一个句子,这样它就会
这里是新手! 我正在阅读一段代码,我看到作者经常写一个成员函数作为 const int func (const scalar& a) const // etc 你看这里有三个const,现在我明白了中
我总是搞乱如何正确使用 const int*、const int * const 和 int const *。是否有一套规则来定义你可以做什么和不能做什么? 我想知道在赋值、传递给函数等方面所有该做和
我见过人们将 const 用作函数参数的代码。使用 const* 与 const * const 有什么好处?这可能是一个非常基本的问题,但如果有人能解释一下,我将不胜感激。 Bool IsThisN
我总是搞乱如何正确使用 const int*、const int * const 和 int const *。是否有一套规则来定义你可以做什么和不能做什么? 我想知道在赋值、传递给函数等方面所有该做和
这个问题在这里已经有了答案: What is the difference between const int*, const int * const, and int const *? (23 个
如果引用的对象不是 const 对象,那么引用“const”关键字的目的是什么? r1 和 r2 的作用(如下)有什么不同吗? int i = 42; // non const object cons
friend 让我解释原因 const const const const const int const i = 0; 是有效的语法。我拒绝对这个话题有任何想法。虽然我很好奇它是否只是语法问题? 编
我总是搞砸如何正确使用 const int*、const int * const 和 int const *。是否有一套规则来定义你能做什么和不能做什么? 我想知道在分配、传递给函数等方面的所有注意事
常量在 const char* push(const char * const &&_data); 表示无法更改引用的内容。为什么我不能将 const char* 传递给 push? 最佳答案 您的代
我有一个关于在函数参数中涉及指针的最佳实践以及它们是否应该指定为 *const 的问题或 const *const .我知道对于 const 的使用或过度使用存在不同的意见。 ,但至少有一些用途是捕捉
我目前正在为我的类(class)写一个作业,它应该充当一个非常基本的外壳。我快完成了,但是我遇到了 execvp 和我的参数字符数组的问题。这是我的代码的一小段。 //Split the left c
所以,我知道了char const *、char * const 和char const * const 之间的区别。那些是: char* the_string : I can change the
我正在运行一些示例程序以重新熟悉 C++,我遇到了以下问题。首先,这里是示例代码: void print_string(const char * the_string) { cout << t
我正在为系统中的编译错误而苦苦挣扎,这是代码 struct Strless : public binary_function { public : bool operator()(cons
我是一名优秀的程序员,十分优秀!