标签: libpcap

有没有办法让Android WIFI(机器人手机)进入混杂的监控模式?

对于几年前的计算机科学信息战类,我编写了一个python脚本,运行libpcap混杂数据包捕获文件来解析Facebook聊天流量(以明文形式传递的earlang元组),并认为一个有趣的项目是移植程序到Android.

我想用Java重写它,但无法直接在手机上找到有关数据包捕获的任何信息.

wireless android tcpdump libpcap

7
推荐指数
1
解决办法
6631
查看次数

ctypes并通过引用传递给函数

我正在尝试使用ctypes在python3中使用libpcap.

在C中给出以下功能

pcap_lookupnet(dev, &net, &mask, errbuf)
Run Code Online (Sandbox Code Playgroud)

在python我有以下内容

pcap_lookupnet = pcap.pcap_lookupnet

mask = ctypes.c_uint32
net = ctypes.c_int32

if(pcap_lookupnet(dev,net,mask,errbuf) == -1):
print("Error could not get netmask for device {0}".format(errbuf))
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

  File "./libpcap.py", line 63, in <module>
 if(pcap_lookupnet(dev,net,mask,errbuf) == -1):
ctypes.ArgumentError: argument 2: <class 'TypeError'>: Don't know how to convert parameter 2
Run Code Online (Sandbox Code Playgroud)

你如何应对&blah价值观?

python ctypes libpcap

7
推荐指数
1
解决办法
1万
查看次数

找到pcap.h和链接的问题

我正在使用Fedora 17,我想用libpcap编程.问题是我的计算机没有找到pcap.h,因为我安装了libpcap和libpcap-devel,这真的很奇怪.还有wireshark和snort在我的工作站工作,我相信使用该库.所以当我用...编译我的代码时

#include <pcap.h>
... Code
Run Code Online (Sandbox Code Playgroud)

并使用gcc my_file.c -lpcap,我得到编译器错误,说...找不到pcap.h. 奇怪的是,我在/ libraries /目录中看到了我的libpcap.so文件.我弄完了 ..

yum install libpcap和yum install libpcap-devel

我不知道为什么Fedora会对我这样做.

谢谢你的帮助!

c linux fedora libpcap

7
推荐指数
3
解决办法
4万
查看次数

dpkt无效tcpdump标头错误

我得到ValueError:下面的代码无效tcpdump标头错误.任何帮助赞赏

import dpkt

f = open('a.pcap')
pcap = dpkt.pcap.Reader(f)

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    ip = eth.data
    tcp = ip.data

if tcp.dport == 80 and len(tcp.data) > 0:
    http = dpkt.http.Request(tcp.data)
    print http.uri

f.close()
Run Code Online (Sandbox Code Playgroud)

错误如下所示

Traceback (most recent call last):
File "malcap.py", line 6, in <module>
pcap = dpkt.pcap.Reader(f)
File "/usr/lib/python2.7/site-packages/dpkt/pcap.py", line 104, in __init__
raise ValueError, 'invalid tcpdump header'
ValueError: invalid tcpdump header
Run Code Online (Sandbox Code Playgroud)

python parsing pcap libpcap

7
推荐指数
1
解决办法
6995
查看次数

如何编写PCAP捕获文件头?

不使用libpcap我试图写一个符合pcap文件格式(格式)的日志文件.WireShark需要读取此文件.到目前为止,我用C++编写了这个:

struct pcapFileHeader {
    uint32_t magic_number;   /* magic number */
    uint16_t version_major;  /* major version number */
    uint16_t version_minor;  /* minor version number */
    int16_t  thiszone;       /* GMT to local correction */
    uint32_t sigfigs;        /* accuracy of timestamps */
    uint32_t snaplen;        /* max length of captured packets, in octets */
    uint32_t network;        /* data link type */
};

ofstream fileout;
fileout.open("file.pcap", ios::trunc);

pcapFileHeader fileHeader;
fileHeader.magic_number = 0xa1b2c3d4;
fileHeader.version_major = 2;
fileHeader.version_minor = 4;
fileHeader.thiszone = 0;
fileHeader.sigfigs = …
Run Code Online (Sandbox Code Playgroud)

c++ logging pcap wireshark libpcap

6
推荐指数
1
解决办法
5400
查看次数

使用libpcap简单示例的100%cpu使用率

在运行下面的代码时,其中一个CPU核心达到100%的使用率.有无交通.怎么了?

示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <pcap.h>
#include <errno.h>

void my_callback(u_char *args, const struct pcap_pkthdr* pkthdr, const u_char*
packet)
{
    //nothing, nothing at all...
    //printf("+");
}

int main(int argc,char **argv)
{
    int i;
    char *dev;
    char errbuf[PCAP_ERRBUF_SIZE];
    pcap_t* descr;
    const u_char *packet;
    struct bpf_program fp;        /* hold compiled program */
    bpf_u_int32 maskp;            /* subnet mask */
    bpf_u_int32 netp;             /* ip */

    if(argc != 2){
        fprintf(stdout, "Usage: %s \"expression\"\n"
            ,argv[0]);
        return 0;
    }

    /* Now get a device */
    dev …
Run Code Online (Sandbox Code Playgroud)

c linux network-programming libpcap

6
推荐指数
1
解决办法
2137
查看次数

嗅探时查找数据包的方向

我想要一个接口出站流量的源 IP 地址列表。如何使用 libpcap 找到数据包的方向(无论是入站还是出站读取流量)?我不知道双方的子网信息。而且两边都有客户端/服务器,所以我不能依赖端口号范围来过滤流量。

为什么 libpcap 数据包头中没有有关方向的信息,或者像pcap-filterinbound中那样的过滤器选项?

network-programming packet-capture tcpdump libpcap

6
推荐指数
1
解决办法
4545
查看次数

pcap文件和字节顺序

对pcap文件运行file命令将打印出以下内容:

$ file pcap.pcap
pcap.pcap: tcpdump capture file (little-endian) - version 2.4 ....
Run Code Online (Sandbox Code Playgroud)

我一直在寻找一种方法来创建一个big-endian捕获文件,或者在线下载一个样本,但无济于事.

我也很困惑pcap中究竟是小端还是大端.据我所知,libpcap捕获了它在线上看到的内容.

endianness tcpdump pcap libpcap

6
推荐指数
1
解决办法
5975
查看次数

解析libpcap捕获的数据包的IP和TCP头(特别是常见的tcp头选项)

我想使用libpcap来捕获IP数据包,我想解析IP头和tcp头.`

有IP头和TCP头结构<netinet/ip.h>,<netinet/tcp.h> IP头相对更容易解析,但对于TCP头,由于有tcp选项,常见的选项是MSS,SACK(选择性确认),时间戳,窗口缩放和NOP.

我想要一个函数parse_pkt():

struct tcphdr tcp_hdr;
struct ip ip_hdr;
parse_pkt(u_char *pcap_packet, struct ip* p_ip, struct tcp* p_tcp);
Run Code Online (Sandbox Code Playgroud)

所以在调用函数后,如果我想知道源IP地址,序列号和MSS,

scr_ip = ip_hdr.src_ip
seq = tcp_hdr.seq
mss = tcp_hdr.mss
Run Code Online (Sandbox Code Playgroud)

有没有类似的源代码/片段可以满足我的要求?谢谢!

ip networking tcp libpcap

6
推荐指数
1
解决办法
2万
查看次数

wireshark中两个数据包之间的时间差

我想计算从发送数据包到恢复ACK之间的时间差.我没有在数据包中看到任何与时间戳相关的信息,任何人都可以给我任何关于如何计算差异的指示.

pcap wireshark libpcap

6
推荐指数
3
解决办法
1万
查看次数