`sr()`和`sniff()`scapy之间的区别

时间:2016-07-22 11:56:57

标签: http packet scapy

我想知道sr()sniff()之间的区别 我会清除自己: 当我用sr()发送数据包然后打印答案时,它只给我一个数据包:

Received 1 packets, got 1 answers, remaining 0 packets
[(<IP  frag=0 ttl=64 proto=tcp dst=216.58.210.4 |<TCP  sport=37945 dport=http seq=1 ack=1477254816 flags=A |<Raw  load='GET /index.html HTTP/1.0 \n\n' |>>>, <IP  version=4L ihl=5L tos=0x0 len=40 id=1338 flags= frag=0L ttl=128 proto=tcp chksum=0xe12d src=216.58.210.4 dst=192.168.233.128 options=[] |<TCP  sport=http dport=37945 seq=1477254816 ack=28 dataofs=5L reserved=0L flags=A window=64240 chksum=0x5528 urgptr=0 |<Padding  load='\x00\x00\x00\x00\x00\x00' |>>>)]

但是当我用嗅闻做同样的事情时,我得到了更多的数据包,其中一个是带有答案的数据包我问:

<Ether  dst=00:0c:29:bb:8e:79 src=00:50:56:e9:b8:b1 type=0x800 |<IP  version=4L ihl=5L tos=0x0 len=537 id=1339 flags= frag=0L ttl=128 proto=tcp chksum=0xdf3b src=216.58.210.4 dst=192.168.233.128 options=[] |<TCP  sport=http dport=37945 seq=1477254816 ack=28 dataofs=5L reserved=0L flags=PA window=64240 chksum=0x98df urgptr=0 options=[] |<Raw  load='HTTP/1.0 302 Found\r\nCache-Control: private\r\nContent-Type: text/html; charset=UTF-8\r\nLocation: http://www.google.co.il/index.html?gfe_rd=cr&ei=_geSV8u1C6Xb8AeaxJCoDQ\r\nContent-Length: 271\r\nDate: Fri, 22 Jul 2016 11:48:14 GMT\r\n\r\n<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">\n<TITLE>302 Moved</TITLE></HEAD><BODY>\n<H1>302 Moved</H1>\nThe document has moved\n<A HREF="http://www.google.co.il/index.html?gfe_rd=cr&amp;ei=_geSV8u1C6Xb8AeaxJCoDQ">here</A>.\r\n</BODY></HTML>\r\n' |>>>>

如果你会看到 - 第二个数据包有我要求的html代码(那是嗅探它。)但是首先没有这个。

2 个答案:

答案 0 :(得分:2)

您可以在scapy bash中使用lsc()来检查所有必需的命令及其用法。

sr:在第3层发送和接收数据包

sr1:在第3层发送数据包,仅返回第一个答案

srp:在第2层发送和接收数据包

srp1:在第2层发送和接收数据包,仅返回第一个答案

srloop:循环发送第3层的数据包并每次打印答案

srploop:循环发送第2层的数据包并每次打印答案

嗅探:嗅探包

发送:在第3层发送数据包

sendp:在第2层发送数据包

您可以使用sniff(iface =“ your interface”,filter =“ dst aa:bb:cc:dd:ee”)来获取所需的数据包。 嗅探功能有很多参数可以将数据包入围。

答案 1 :(得分:1)

sr()是发送和接收数据包。该函数发送特定数据包,然后仅查找对这些数据包的响应

sniff()充当嗅探器并读取以太网线路上的所有流量,即使它不是针对您用于发送原始数据包的IP地址或特定套接字。这允许您查看网络上的其他流量

相关问题