Jul-01-2018, 10:05 AM
Hello! I'm new to python... so i did a TCP Packet Sniffer to have an idea on how python is on hacking since i wanna to do anti-TCP Packet sniffers etc.
So i got a python code for sniffing ;D great right?...right??
Anyway, i modified it so it can be like beautiful and nit for the user. So i decide to put arguments like:
--sniff-tcp - Sniff TCP packets / Hosts
--sniff-arp - Sniff ARP packets
So i found this module called ArgParse or argparse or whatever xD i imported it and i did the code so i made a function which will start TCP sniffing
if the user puts --sniff-tcp but everytime i do it i get an error which is haunting me cause this error i have saw it ON EACH OF EVERY SCRIPT I DID EVEN COPIED FROM INTERNET...
File "sniffer.py", line 25
try:
^
IndentslError: unindent does not match any outer indentation level
When i see this error i feel like getting a real python and burn it DOWN >:(
So here's my code:
And if anyone could tell me how to do easy and working arguments in python that could be AWESOME!
Lots of love!
So i got a python code for sniffing ;D great right?...right??
Anyway, i modified it so it can be like beautiful and nit for the user. So i decide to put arguments like:
--sniff-tcp - Sniff TCP packets / Hosts
--sniff-arp - Sniff ARP packets
So i found this module called ArgParse or argparse or whatever xD i imported it and i did the code so i made a function which will start TCP sniffing
if the user puts --sniff-tcp but everytime i do it i get an error which is haunting me cause this error i have saw it ON EACH OF EVERY SCRIPT I DID EVEN COPIED FROM INTERNET...
File "sniffer.py", line 25
try:
^
IndentslError: unindent does not match any outer indentation level
When i see this error i feel like getting a real python and burn it DOWN >:(
So here's my code:
import socket, sys, time, os from struct import * from termcolor import colored from argparse import ArgumentParser def helpArg(): print "--sniff-arp" print "--sniff-tcp" parser = ArgumentParser() parser.add_argument("--sniff-tcp", action=tcpSniffer()) args = parser.parse_args() #create an INET, STREAMing socket def tcpSniffer(): print colored("[+]", 'green') + (" Starting Sniffers...") time.sleep(2) print colored("[+]", 'green') + (" Creating socket...") try: s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) except socket.error , msg: print colored("[!]", 'red') + ('Socket could not be created. Error Code : ' + str(msg[0])) + (' Message ' + msg[1]) sys.exit() print colored("[+]", 'green'), ("Getting Ready Spoofers...") time.sleep(3) # receive a packet while True: packet = s.recvfrom(65565) #packet string from tuple packet = packet[0] #take first 20 characters for the ip header ip_header = packet[0:20] #now unpack them :) iph = unpack('!BBHHHBBH4s4s' , ip_header) version_ihl = iph[0] version = version_ihl >> 4 ihl = version_ihl & 0xF iph_length = ihl * 4 ttl = iph[5] protocol = iph[6] s_addr = socket.inet_ntoa(iph[8]); d_addr = socket.inet_ntoa(iph[9]); hostname2solv = socket.gethostname() host = socket.gethostbyname(hostname2solv) print "############################# IP : " +str(s_addr) + " HOST : " +str(hostname2solv) + " #######################" print 'Client Name : ' + str(hostname2solv) print 'Version : ' + str(version) print 'IP Header Length : ' + str(ihl) print 'TTL : ' + str(ttl) print 'Protocol : ' + str(protocol) print 'Source Address : ' + str(s_addr) print 'Destination Address : ' + str(d_addr) tcp_header = packet[iph_length:iph_length+20] #now unpack them :) tcph = unpack('!HHLLBBHHH' , tcp_header) source_port = tcph[0] dest_port = tcph[1] sequence = tcph[2] acknowledgement = tcph[3] doff_reserved = tcph[4] tcph_length = doff_reserved >> 4 print 'Source Port : ' + str(source_port) print 'Dest Port : ' + str(dest_port) print 'Sequence Number : ' + str(sequence) print 'Acknowledgement : ' + str(acknowledgement) print 'TCP header length : ' + str(tcph_length) h_size = iph_length + tcph_length * 4 data_size = len(packet) - h_size #get data from the packet data = packet[h_size:] print 'Data : ' + data print "#######################################################################################" printCan anyone please help me with this error?
And if anyone could tell me how to do easy and working arguments in python that could be AWESOME!
Lots of love!