Linux下如何抓指定IP的包

Linux下如何抓指定IP的包,第1张

用tcpdum命令可以抓指定IP的包,具体命令为:

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap

参数解析:

tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。

-i eth1 : 只抓经过接口eth1的包

-t : 不显示时间戳

-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包

-c 100 : 只抓取100个数据包

dst port  22 : 抓取目标端口是22的数据包

src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.1

-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

扩展资料

tcpdump语法格式:

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

tcpdump主要参数说明:

1、-a 尝试将网络和广播地址转换成名称。

2、-c<数据包数目>收到指定的数据包数目后,就停止进行倾倒 *** 作。

3、-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。

4、-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。

5、-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。

6、-e 在每列倾倒资料上显示连接层级的文件头。

7、-f 用数字显示网际网络地址。

8、-F<表达文件>指定内含表达方式的文件。

9、-i<网络界面>使用指定的网络截面送出数据包。

10、-l 使用标准输出列的缓冲区。

11、-n 不把主机的网络地址转换成名字。

12、-N 不列出域名。

Ethereal 自带许多协议的 decoder,简单,易用,基于winpcap的一个开源的软件.但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改 Ethereal的代码,再重新编译,很烦琐.对于一般的明文 协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进行加密,如此. 要想破解,得要有一个可编程的抓包器.

libpcap是一个不错的选择,但是对于抓包这样需要反复进行”试 验->修改”这个过程的 *** 作,c 语言显然不是明智的选择.

Python提供了几个libpcapbind。在windows平台上,你需要先安装winpcap,如果你已经安装了Ethereal非常好用

一个规范的抓包过程

import pcap

import dpkt

pc=pcap.pcap() #注,参数可为网卡名,如eth0

pc.setfilter('tcp port 80') #设置监听过滤器

for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据

print ptime,pdata #...

对抓到的以太网V2数据包(raw packet)进行解包

p=dpkt.ethernet.Ethernet(pdata)

if p.data.__class__.__name__=='IP':

ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst)))

if p.data.data.__class__.__name__=='TCP':

if data.dport==80:

print p.data.data.data # by gashero

一些显示参数

nrecv,ndrop,nifdrop=pc.stats()

返回的元组中,第一个参数为接收到的数据包,(by gashero)第二个参数为被核心丢弃的数据包。

struct pcap_pkthdr { struct timeval ts/* time stamp */时间戳 bpf_u_int32 caplen/* length of portion present */在线抓到包的长度,无符号整形 bpf_u_int32 len/* length this packet (off wire) */离线包长度 } pcap_pkthdr是.pcap文...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8756800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存