我有一些大的pcap文件(每个大约100MB),我想从字典文件(txt)中过滤出包含字符串的数据包。字典文件的格式如下:
line 1: word1
line 2: word2
line 3: word3
line 4: word4
因此,如果word1出现在pcap文件中的任何地方(应该在TCP有效负载中?),我希望删除该字符串,或者只是希望从pcap文件中删除该数据包。有没有办法有效地(足够快地)实现这一点?
packets = rdpcap("/home/pcap_evidence/"+date+"/"+list_time[0]+"")
for data in packets:
if IP in data:
if data[IP].src == ip and data[IP].dst == ip:
list_.append(data)
在这段代码中,我使用rdpcap读取pcap,然后通过这种方式迭代它使用for循环,我得到分组的逐行数据,在每个pcaket上,我正在搜索特定的ip,如果ip与任何src_ip或dst
我试图编程一个“肮脏”的网站过滤器-例如一个用户想要访问一个色情网站(基于域名)
所以基本上,我得到的是
#!/bin/bash
sudo tshark -i any tcp port 80 or tcp port 443 -V | grep "Host.*keyword"
它工作得很好,但是现在我需要在找到一些东西(iptables和DROPing数据包.)之后执行一些操作。我遇到的问题是tcp转储仍然在运行。如果我有一个完整的文件与数据,我想要达到的东西是很容易解决。
在假象中,我想要这样的东西:
if (tshark and grep found something)
有很少的wireshark .pcap文件。我需要将每个.pcap与传入和传出流量分开(通过给出源和目标mac地址),而这些分离的文件必须被写入两个不同的文件夹,即传入和传出。输出文件(作为传入文件和传出文件分离的文件)必须获得与输入文件相同的名称,并且需要写入.csv文件。我尝试了下面的代码,但不起作用。任何帮助都是非常感谢的。谢谢
import os
import csv
startdir= '/root/Desktop/Test'
suffix= '.pcap'
for root,dirs, files, in os.walk(startdir):
我正在尝试在界面wlan0上开始捕获tshark进程5分钟。在其他线程中读取时,我试图将输出定向到这样的文件:
$log = "sniff-".date("Y-m-d-H-i-s").".txt";
system("sudo tshark -i wlan0 -a duration:300 > /var/www/log".$log);
我原以为was服务器会启动tshark进程,然后继续前进。在apache的错误日志中,我可以看到tshark的正常输出:
Running as user "root" and g