목록scapy (10)
Self-Improvement
fragrouter -B1과 같은 포워딩은 따로 필요 from scapy.all import * from colorama import Fore import os import sys if len(sys.argv) is not 4: print(Fore.YELLOW+"[-] Example : python broadARP.py "+Fore.RESET) sys.exit() iface2=sys.argv[1] mymac=sys.argv[2] targetip=sys.argv[3] os.system("ifconfig | grep broadcast | awk '{print $6}' > broadip.txt") f2=open("broadip.txt",'r') broadip=f2.readline().replace("\r\n"..
1. 무선 패킷 중에서 type이 0, subtype이 8 이면 AP가 브로드캐스트로 광고하는 패킷이며 이를 스니핑하겠다는 뜻. from scapy.all import * def packet_handler(pkt) : # if packet has 802.11 layer, and type of packet is Data frame if pkt.haslayer(Dot11) and pkt.type == 0 and pkt.subtype == 8: # do your stuff here print(pkt.show()) sniff(iface="wlan0mon", prn=packet_handler) 2. 무선 패킷 중에서 type이 2이면 데이터 패킷이며 이를 스니핑 하겠다는 뜻 from scapy.all import..
*예제 >>> send(IP(dst=”192.168.10.1”)/fuzz(UDP()/NTP(version=4)(loop=1))) 일반적인 IP레이어로 퍼지패킷을 작성한 다음 퍼지 UDP 및 NTP 계층을 대상으로 UDP 체크섬이 올바르고 UDP 대상 포트가 NTP에 의해 과부하 되어 123이 되고 NTP 버전이 강제로 버전 4가 되는 것??? ※ 오류나서 나중에 다시 알아봐야함. *예제 >>>send( Ether(dst=clientMAC)/ARP(op=”who-has”, psrc=gateway, pdst=client). inter=RandNum(10,40), loop=1)=클래식 ARP cache poisoning >>> send( Ether(dst=clientMAC)/Dot1Q(vlan=1)/Dot1Q..
*예제 >>> IP() >>> IP()/TCP() >>> Ether()/IP()/TCP() >>> IP()/TCP()/"GET /HTTP/1.0\r\n\r\n" >>> Ether()/IP()/IP()/UDP() *예제 >>> a=Ether()>>> b=IP()>>> c=TCP() >>> a.show() >>> a=Ether(src="00:0c:29:f3:03:2b") >>> a.show() >>>b.show() >>> b=IP(ttl=10,src="192.168.10.101", dst="192.168.10.1") >>> b.show() >>> c=TCP(sport=22, dport=22, flags="A")>>> c.show() >>> sendp(a/b/c/) wireshark로 확인하면 정상적으로 패킷..
*예제 >>> sniff() >>> a=_>>> a.nsummary() >>> a[3] >>> sniff(iface="eth0", filter="icmp", count=10) iface=”eth0” - nice simple one, I’m defining the interface to sniff on (remember by default it’s all interfaces that Scapy will sniff packets from). filter=”icmp” - This is telling the sniff() function to only look for ICMP packets count=10 - If you only want to collect a certain amount of packets, ..
*예제 >>> ans,unans=sr(IP(dst="192.168.10.1-5")/ICMP()) wireshark 확인 >>> ans.show() *예제 >>> ans,unans=sr( IP(dst="192.168.10.1-5")/TCP(dport=80, flags="S") ) >>> ans.show() *예제 >>> ans,unans=sr(IP(dst="192.168.10.*")/UDP(dport=0)) >>> ans.show()
*예제 >>> ans,unans=sr(IP(dst="192.168.10.1")/TCP(dport=[23,80],flags="A")) wireshark로 확인 Ack 스캔 전송 >> ans.show() *예제 >>> ans,unans=sr(IP(dst="192.168.10.1",proto=(0,255))/"SCAPY",retry=2) wireshark에서 확인. *예제 >>> arping("192.168.10.1") wireshark에서 확인
*예제>>> sr1(IP(dst="168.126.63.1")/UDP()/DNS(rd=1,qd=DNSQR(qname="www.naver.com"))) sr1 - This is the send & receives function that only returns the first answered packet (IP(dst=”10.1.99.2”) - Again we are using an IP packet and the destination IP is my router (which is also my DNS provider) /UDP() - Well as you may or may not know, DNS is a UDP packet (port 53) so we need to specify that in our..
*예제 >>> p=sr(IP(dst="192.168.1.231")/TCP(dport=445)) wireshark로 확인하면 445 포트로 전송되어졌다. >>> p.show() sr()로 하였기 때문에 show로는 볼 수가 없다. 이유 : sr()은 여러개의 패킷을 담을 수 있다. sr1()은 단일 패킷만. >>> ans,unans=_ >>> ans.summary() 으로 확인할 수 있다. Syn 플래그로 보내져서 SynAck라는 플래그로 받아졌다. *예제 >>> p=sr(IP(dst="10.1.99.2")/TCP(dport=[23,80,53])) 여러개의 목적지포트로 전송가능. >>> ans,unans=_ >>> ans.summary() 으로 여러개의 받은 패킷을 확인 할 수 있다. *예제 >>> p=s..
*예제 1번 #scapy scapy을 실행해준다. >>> send(IP(dst="10.1.99.2")/ICMP()/"HelloWorld") wireshark로 확인. send - this tells Scapy that you want to send a packet (just a single packet) IP - the type of packet you want to create, in this case an IP packet (dst=”10.1.99.2”) - the destination to send the packet to (in this case my router) /ICMP() - you want to create an ICMP packet with the default values provid..