成都网站建设设计

将想法与焦点和您一起共享

php捕获数据包 抓取数据包

如何截取数据包?

截取数据包,可以利用libpcap函数库:

创新互联是一家专注于成都网站设计、做网站与策划设计,灵璧网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:灵璧等地区。灵璧做网站价格咨询:18980820575

利用libpcap开发网络嗅探器时,一般包含以下几个基本流程:

1)确定捕获网络数据包的网卡。

函数原形:

char *pcap_lookupdev(dev *errbuf);

2)打开网络设备。

函数原形:

pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *errbuf)

3)设置过滤条件。

函数原形:

int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)

4)获取数据包。

函数原形:

const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h)

5)关闭网络设备。

函数原形:

void pcap_close(pcap_t *p)

php 怎么捕获所有的异常?

这个不是异常啊,这个是错误类型!!

你的错误类型提示设的太高了,这样适合在开发下使用。你可以在可能出现提示错误行前加上@符号就可以抑制提示错误。

php中档然有throw try catch结果语句,但是除了的是异常,也就是exception类。

你自己看看手册吧

数据包的捕获分析

sniffer抓获的是通过网卡传播的报文,你关联的是IP为192.168.1.2的网卡,所有经过该网卡的都会捕获。

另外,这个没有任何错误啊,本来ping就是一去一回啊,ICMP协议的内容了...

ping 192.168.1.2没有报文是因为报文没有经过网卡发送出去,只是在本机处理,所以抓不到

捕获有个高级设置,是可以设置报文方向的,也就是可以设置抓获报文的源IP等信息,你可以通过这个实现你的目的。

php编程语言可以解析tcp数据包(包括标志位,序列号,窗口长度)吗?

TCP协议头最少20个字节,包括以下的区域

TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是

标示报问的返回地址。

TCP目的端口(Destination port):16位的目的端口域定义传输的目的。这个端口指明报文接收计算

机上的应用程序地址接口。

TCP序列号(序列码,Sequence Number):32位

TCP应答号(Acknowledgment Number):32位的序列号由接收端计算机使用,重组分段的报文成最初形式。,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码。


网站名称:php捕获数据包 抓取数据包
转载源于:http://chengdu.cdxwcx.cn/article/hhodes.html