我想将hping3转换成hping6。 hping3使用Pcap库来接收IPv4数据包。但我需要接收IPv6数据包。我可以使用pcap库来接收ipv6数据包吗?
4
A
回答
6
这是可能的。 libpcap能够捕捉线上的任何东西。
+0
+1,这包括不是IPv4的东西(如直接位于以太网帧之上的ARP)。在使用ETHERTYPE_IP的IPv4 PCAP代码中,只需使用ETHERTYPE_IPV6,并使用适当的头结构。 – Flexo 2011-06-07 22:08:57
2
示例使用ETHERTYPE_IPV6
:
static u_int16_t ether_packet(u_char *args, const struct pcap_pkthdr *pkthdr, co
nst u_char *p) {
struct ether_header *eptr = (struct ether_header*)p;
assert(pkthdr->caplen <= pkthdr->len);
assert(pkthdr->caplen >= sizeof(struct ether_header));
return eptr->ether_type;
}
// This is the callback. assumes ethernet frame.
static void pcap_callback(u_char *args,const struct pcap_pkthdr* pkthdr,const u_
char* p)
{
const u_int16_t type = ether_packet(args, pkthdr, p);
switch (ntohs(type)) {
case ETHERTYPE_IP:
// handle IPv4
break;
case ETHERTYPE_IPV6:
// handle v6
break;
}
}
相关问题
- 1. epoll可以接收udp数据包吗?
- 2. 可以使用libnet来注入tcp数据包/数据包吗?
- 3. 帮助使用pcap库来嗅探数据包
- 4. PCap库问题与接收
- 5. 我可以使用卷曲来测试接收邮件吗
- 6. 我们可以使用odbc只与java连接数据库吗?
- 7. DatagramPacket可以接收数据吗?
- 8. 可以用javascript连接数据库吗
- 9. 发送数据包(PCAP,WLAN,C)到接收器,无需连接接收
- 10. 无法在辅助接口上接收UDP/IPv6数据包
- 11. Android:您可以通过电话来发送/接收数据吗?
- 12. Python adodbapi可以用来连接到悖论数据库吗?
- 13. 我可以使用eclipse连接MS sql数据库并选择数据吗?
- 14. 我可以使用EnableStatic配置IPv6地址(使用WMI)吗?
- 15. 我可以使用VS2010的Intellitrace来收集Windows服务的数据吗?
- 16. 我可以使用PubNub进行实时数据收集吗?
- 17. 应该/我可以为TCP数据做嵌套接收吗?
- 18. 我可以使用SQL来建模我的数据吗?
- 19. 我可以在Oracle中链接数据库链接吗?
- 20. 可以使用Android SQLiteDatabase.openDatabase()来打开远程sqlite数据库吗?
- 21. 我可以使用JSON数组作为小型数据库吗?
- 22. 我可以下载Phpmyadmin数据库吗?
- 23. 使用数据包套接字接收广播数据包
- 24. JPA可以使用数据库连接
- 25. 我可以使用数据透视吗?
- 26. Facebook应用可以使用我的网站数据库吗?
- 27. 我可以用三种方式使用EF数据库吗?
- 28. 我可以使用sympy来解决收敛问题吗?
- 29. 我可以更改DBD :: mysql使用的数据包大小吗?
- 30. 我们可以使用jpcap过滤https数据包吗?
你绝对可以使用的libpcap捕捉到的IPv6数据包(如Wireshark的和帮会绝对捕捉它们)。从未直接使用过libpcap,我无法为您提供任何帮助,但它绝对有可能。 – 2011-06-06 19:14:53