标签: packet-capture

如何在Wireshark中找到丢包?

我需要测试FTP应用程序的丢包.我使用了Wireshark数据包嗅探器,我得到了TCP Stream.

如何使用Wireshark找到丢包?

packet-capture packet wireshark

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

关注tcp stream - 字段"流索引"来自何处?

Wireshark 在菜单项"Analyze"下有一个名为"follow tcp stream"的功能.

当我使用它时,会生成一个屏幕捕获过滤器,例如:

tcp.stream eq 1

这个指数来自哪里?

我在包含它的数据包中找不到任何字段...

packet-capture packet wireshark

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

数据包捕获:带有FIN标志的数据包是否也有数据?

我正在研究数据包捕获程序.IP数据包是否可以设置FIN标志但是还有数据?

ip tcp packet-capture tcp-ip

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

Python原始套接字监听UDP数据包; 只收到一半的数据包

我试图在Python中创建一个仅用于侦听UDP数据包的原始套接字:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
s.bind(('0.0.0.0', 1337))
while True:
    print s.recvfrom(65535)
Run Code Online (Sandbox Code Playgroud)

这需要以root身份运行,并在端口1337上创建一个原始套接字,它接收UDP数据包并在收到它们时打印它们; 没有问题.

现在让我们做一个小客户端来测试它是否有效:

import socket
c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
c.connect(('127.0.0.1', 1337))
c.send('message 1')
c.send('message 2')
c.send('message 3')
c.send('message 4')
c.send('message 5')
c.send('message 6')
Run Code Online (Sandbox Code Playgroud)

始终如一,只有第一,第三和第五条消息(message 1,message 3message 5)将通过并打印在服务器输出中.第二,第四和第六条消息未显示在服务器输出上,而是客户端获得异​​常:

>>> c.send('message 2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.error: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)

在Wireshark中运行它表明它正在获取"目标无法访问"的ICMP回复.我已经能够在3台不同的机器上重现这一点(所有机器都在运行Linux).我错过了什么吗?UDP的这种预期行为是否始终丢弃数据包,因为使用它的协议应该容忍数据包丢失?即便如此,为什么在本地接口上发送数据包会被丢弃?

绑定服务器127.0.0.1而不是0.0.0.0具有相同的结果.

python sockets networking udp packet-capture

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

如何解码通过WireShark收到的数据包并解决一些错误

我们通过WireShark使用JN5148EK010节点捕获流量.收到的数据包显示在提供的屏幕截图中.

  1. 我想知道如何解码数据
  2. 捕获几个数据包时会发生错误,同时还会提供其屏幕截图.如何解决此错误?
  3. 项目清单

发生了另一个错误(请参阅第三个屏幕截图).

怎么解决?

在此输入图像描述 在此输入图像描述

在此输入图像描述

packet-capture wireshark

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

是否可以在没有root访问权限的情况下在linux上使用packet_mmap?

Linux 具有通过在内核和用户之间映射共享缓冲区来有效捕获网络数据包的功能.我试图以不需要root访问权限的方式使用此接口(因为我没有它).

通常,packet_mmap用于直接查看网络上的所有数据包,这需要root访问权限.我的应用程序只需要使用标准的linux UDP套接字接口.我希望纯粹使用packet_mmap来提高效率 - 现在系统调用占用了超过50%的CPU周期.

有没有办法配置packet_mmap,以便可以从用户空间使用?

c linux udp packet-capture linux-kernel

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

使用多个线程时,Scapy无法嗅探数据包

我将尝试用简化的示例来演示我的问题.

以下是一个非常简单的(单线程)数据包嗅探器(ICMP):

from scapy.all import *

m_iface = "wlan0"
m_dst = "192.168.0.1"

def print_summary(pkt):
  print pkt.summary()

def plain_sniff():
  sniff(iface = m_iface, count = 10, filter = "icmp and src {0}".format(m_dst), prn = print_summary)
Run Code Online (Sandbox Code Playgroud)

这个嗅探器工作正常,我得到输出:

WARNING: No route found for IPv6 destination :: (no default route?)
Ether / IP / ICMP 192.168.0.1 > 192.168.0.9 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.0.1 > 192.168.0.9 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.0.1 > 192.168.0.9 echo-reply 0 / …
Run Code Online (Sandbox Code Playgroud)

python packet-capture scapy

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

什么是ASN文件以及如何使用它?

我正在尝试使用通信协议(S1AP具体),我正在尝试定义要测试的消息.

LTE 36.413规范详细说明了该协议,并在pdf的底部给出了ASN.1文件定义.我已经看到在WireShark的解剖器中使用了ASN文件,我猜我可以使用它来按照规范生成消息.

我想知道你如何使用ASN.1文件.我一直在研究并找到有关ASN.1编译器的信息以及与之相关的其他信息,但所有信息都让我非常困惑,因为没有人清楚地解释如何使用它.有人可以帮我理解如何使用它吗?

networking asn.1 packet-capture packet lte

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

pyshark - 来自TCP数据包的数据

无论如何使用pyshark来获取TCP数据包的有效负载?

我试图比较跨多个TCP流的不同数据包的数据部分,但我找不到一种方法来获取数据包的数据.pkt['tcp'].data似乎不存在.

python packet-capture wireshark pyshark

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

HTTP 的 BPF 是什么?

定义可以在这里看到。

候选答案可能是tcp and dst port 80,但可以tcp and dst port 80保证它的HTTP流量并包括所有 HTTP 流量?

似乎不是,因为可以通过这种方式指定 80 以外的其他端口来访问某些站点:

http://domain.name:8080
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:确切的BPFHTTP什么?

更新

是否有一种实现来验证数据包是否c已经是 HTTP 数据包?

c packet-capture

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

标签 统计

packet-capture ×10

wireshark ×4

packet ×3

python ×3

c ×2

networking ×2

udp ×2

asn.1 ×1

ip ×1

linux ×1

linux-kernel ×1

lte ×1

pyshark ×1

scapy ×1

sockets ×1

tcp ×1

tcp-ip ×1