comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Geolocalizar gente por Twitter

  • 14 Respuestas
  • 6257 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5401
  • Actividad:
    41.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Enero 18, 2016, 05:38:14 pm »
Hola a todos!
Les comparto un script para Geolocalizar personas mediante su cuenta de twitter.





Código: Python
  1. #!/usr/bin/python -u
  2. # -*- coding: utf-8 -*-
  3.  
  4. import tweepy
  5. import sys
  6. import getopt
  7. import datetime
  8. import urllib2
  9. import os
  10. import string
  11.  
  12.  
  13. # OAuth Settings
  14. # How to obtain the API key:
  15. # Go to https://dev.twitter.com/apps/new
  16. # Copy the consumer key (API key), consumer secret, access token and access token secret
  17. CONSUMER_KEY = ''
  18. CONSUMER_SECRET = ''
  19. ACCESS_TOKEN = ''
  20. ACCESS_TOKEN_SECRET = ''
  21.  
  22.  
  23. # App parameters (please, don't modify these values!)
  24. program_name = "tinfoleak"
  25. program_version = "v1.2"
  26. program_date = "03/02/2014"
  27. program_author_name = "Vicente Aguilera Diaz"
  28. program_author_twitter = "@VAguileraDiaz"
  29. program_author_companyname = "Internet Security Auditors"
  30.  
  31. # Global parameters
  32. arg_name = "" # twitter account
  33. arg_count = 100 # number of tweets to be analyzed
  34. arg_time = 0 # 1 = show the time in the results, 0 = don't show the time in the results
  35. arg_basic = 0 # 1 = show basic info for the user, 0 = don't show basic info for the user
  36. arg_source = 0 # 1 = show the application used by the user, 0 = don't show the application used by the user
  37. arg_hashtags = 0 # 1 = show the hashtags, 0 = don't show the hashtags
  38. arg_mentions = 0 # 1 = show the user mentions, 0 = don't show the user mentions
  39. arg_find = "" # word to search in the user timeline
  40. arg_stime = "00:00:00" # start time (filter)
  41. arg_etime = "23:59:59" # end time (filter)
  42. arg_sdate = "1900/01/01" # start date (filter)
  43. arg_edate = "2100/01/01" # end date (filter)
  44. arg_output = "" # log file
  45. arg_geofile = "" # KML file (Google Earth tweets visualization)
  46. arg_pics = "" # directory to download user pictures
  47. tweet_images = [] # store the user images
  48. source = [] # store the applications (twitter client)
  49. hashtags = [] # store the hashtags
  50. user_mentions = [] # store the user mentions
  51. tweet_with_word = [] # store the tweets filtered by the specified word
  52. geo_info = [] # store the geolocation info
  53. sdate = datetime.datetime.now() # the current date and time
  54. color = "[1;96m" # color used in the headers
  55.  
  56. # User authentication
  57. auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
  58. auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
  59.  
  60. # Tweepy (a Python library for accessing the Twitter API)
  61. api = tweepy.API(auth)
  62.  
  63.  
  64. ################
  65. # Print data to the console and log file
  66. ################
  67. def print_data(data):
  68.         try:
  69.                 print data
  70.                 if arg_output:
  71.                         tmp = filter(lambda x: x in string.printable, data)
  72.                         newdata = tmp.replace(color, " ").replace("[0m", " ")
  73.                         fd.write(newdata + "\n")
  74.                
  75.         except Exception, e:
  76.                 print "\n[ print_data() Error ]\n\tError message:\t ", e, "\n"
  77.                 sys.exit(1)
  78.  
  79. ################
  80. # Show credits
  81. ################
  82. def show_credits():
  83.         try:
  84.                 print "+++ "
  85.                 print "+++ " + program_name + " " + program_version + " - \"Get detailed information about a Twitter user\""
  86.                 print "+++ " + program_author_name + ". " + program_author_twitter
  87.                 print "+++ " + program_author_companyname
  88.                 print "+++ " + program_date
  89.                 print "+++ "
  90.                 print
  91.  
  92.         except Exception, e:
  93.                 print "\n[ show_credits() Error ]\n\tError message:\t ", e, "\n"
  94.                 sys.exit(1)
  95.  
  96. ################
  97. # Show usage
  98. ################
  99. def show_usage():
  100.         try:
  101.                 print "Usage:\n# " + sys.argv[0] + " [-n|--name] username [-c|--count] count [-t|--time] [-b|--basic] [-s|--source] [-h|--hashtags] [-m|--mentions] [-g|--geo] geofile [--stime] stime [--etime] etime [--sdate] sdate [--edate] edate [-f|--find] word [-p|--pics] images [-o|--output] file"
  102.                 print "\t(*) username: Twitter account"
  103.                 print "\t    count: number of tweets to analyze (default value: 100)"
  104.                 print "\t    time: show time in every result (default value: off)"
  105.                 print "\t(+) basic: show basic information about the username (default value: off)"
  106.                 print "\t(+) source: show applications used by username (default value: off)"
  107.                 print "\t(+) hashtags: show hashtags used by username (default value: off)"
  108.                 print "\t(+) mentions: show twitter accounts used by username (default value: off)"
  109.                 print "\t(+) geofile: show geolocation information and save the results in KML format for Google Earth visualization (default value: off)"
  110.                 print "\t    stime: filter tweets from this start time. Format: HH:MM:SS (default value: 00:00:00)"
  111.                 print "\t    etime: filter tweets from this end time. Format: HH:MM:SS (default value: 23:59:59)"
  112.                 print "\t    sdate: filter tweets from this start date. Format: YYYY/MM/DD (default value: 1900/01/01)"
  113.                 print "\t    edate: filter tweets from this end date. Format: YYYY/MM/DD (default value: 2100/01/01)"
  114.                 print "\t(+) word: filter tweets that include this word"
  115.                 print "\t(x) images: [0] show images (parameter \"geofile\" is mandatory), [1] download images (to the \"screen_name\" directory)"
  116.                 print "\t    file: output file"
  117.                 print
  118.                 print "\t(*) Required parameter"
  119.                 print "\t(+) One of these parameters must be informed"
  120.                 print "\t(x) If you enabled this option, you need to be patient. The execution time is greatly increased."
  121.                 print "\n\tExamples:"
  122.                 print "\t\t# " + sys.argv[0] + " -n vaguileradiaz -b"
  123.                 print "\t\t# " + sys.argv[0] + " -n stevewoz -sc 1000"
  124.                 print "\t\t# " + sys.argv[0] + " -n stevewoz -g stevewoz.kml -o output.log"
  125.                 print "\t\t# " + sys.argv[0] + " -n vaguileradiaz -thm"
  126.                 print "\t\t# " + sys.argv[0] + " -n billgates -g billgates.kml -p 1 -c 300"
  127.                 print "\t\t# " + sys.argv[0] + " -n vaguileradiaz -tc 500 -f secret --sdate 2013/10/01 -o output.log"
  128.                 print "\t\t# " + sys.argv[0] + " -n vaguileradiaz -shmtc 1000 --stime 08:00:00 --etime 18:00:00\n"
  129.  
  130.         except Exception, e:
  131.                 print "\n[ show_usage() Error ]\n\tError message:\t ", e, "\n"
  132.                 sys.exit(1)
  133.  
  134. ################
  135. # Get options
  136. ################
  137. def get_options():
  138.         global arg_name
  139.         global arg_count
  140.         global arg_time
  141.         global arg_basic
  142.         global arg_source
  143.         global arg_hashtags
  144.         global arg_mentions
  145.         global arg_find
  146.         global arg_stime
  147.         global arg_etime
  148.         global arg_sdate
  149.         global arg_edate
  150.         global arg_output
  151.         global arg_geofile
  152.         global arg_pics
  153.  
  154.         try:
  155.                 opts, args = getopt.getopt(sys.argv[1:], "n:c:tbshmg:f:p:o:", ["name=","count=","time","basic","source","hashtags","mentions","geo=","find=","stime=","etime=", "sdate=","edate=","pics=","output="])
  156.                 for o, a in opts:
  157.                         if o in ("-n", "--name"):
  158.                                 arg_name = a
  159.                         elif o in ("-c", "--count"):
  160.                                 arg_count = a
  161.                         elif o in ("-t", "--time"):
  162.                                 arg_time = 1
  163.                         elif o in ("-b", "--basic"):
  164.                                 arg_basic = 1
  165.                         elif o in ("-s", "--source"):
  166.                                 arg_source = 1
  167.                         elif o in ("-h", "--hashtags"):
  168.                                 arg_hashtags = 1
  169.                         elif o in ("-m", "--mentions"):
  170.                                 arg_mentions = 1
  171.                         elif o in ("-g", "--geo"):
  172.                                 arg_geofile = a
  173.                         elif o in ("-f", "--find"):
  174.                                 arg_find = a
  175.                         elif o in ("--stime"):
  176.                                 arg_stime = a
  177.                         elif o in ("--etime"):
  178.                                 arg_etime = a
  179.                         elif o in ("--sdate"):
  180.                                 arg_sdate = a
  181.                         elif o in ("--edate"):
  182.                                 arg_edate = a
  183.                         elif o in ("-p", "--pics"):
  184.                                 arg_pics = a
  185.                         elif o in ("-o", "--output"):
  186.                                 arg_output = a
  187.  
  188.         except:
  189.                 show_usage()
  190.                 show_final_message()
  191.                 sys.exit(1)
  192.  
  193. ################
  194. # Show final message
  195. ################
  196. def show_final_message():
  197.         try:
  198.                 tdelta = datetime.datetime.now() - sdate
  199.                 hours, remainder = divmod(tdelta.seconds, 3600)
  200.                 minutes, seconds = divmod(remainder, 60)
  201.                 print_data("\tElapsed time: %02d:%02d:%02d" % (hours, minutes, seconds) )
  202.                 print_data("")
  203.                 print_data("See you soon!")
  204.                 print_data("")
  205.                 sys.exit(0)
  206.  
  207.         except Exception, e:
  208.                 print "\n[ show_final_message() Error ]\n\tError message:\t ", e, "\n"
  209.                 sys.exit(1)
  210.  
  211. ################
  212. # Get basic info for twitter user name
  213. ################
  214. def get_basic_info():
  215.         try:
  216.                 print_data(chr(27) + color + "\tAccount info" + chr(27) + "[0m")
  217.                 print_data("\t-------------------")
  218.                 print_data("\tScreen Name:\t\t " + user.screen_name.encode('utf-8'))
  219.                 print_data("\tUser name:\t\t " + user.name.encode('utf-8'))
  220.                 print_data("\tTwitter Unique ID:\t " + str(user.id))
  221.                 print_data("\tAccount created at:\t " + user.created_at.strftime('%m/%d/%Y'))
  222.                 print_data("\tFollowers:\t\t " + str(user.followers_count))
  223.                 print_data("\tTweets:\t\t\t " + str(user.statuses_count))
  224.                 print_data("\tLocation:\t\t " + str(user.location.encode('utf-8')))
  225.                 print_data("\tDescription:\t\t " + str(user.description.encode('utf-8')))
  226.                 print_data("\tURL:\t\t\t " + str(user.url))
  227.                 print_data("\tProfile image URL:\t " + str(user.profile_image_url))
  228.                 print_data("")
  229.  
  230.         except Exception, e:
  231.                 print "\n[ basic_info() Error ]\n\tError message:\t ", e, "\n"
  232.                 sys.exit(1)
  233.  
  234. ################
  235. # Get source
  236. ################
  237. def get_source(tweet_source, tweet_created_at):
  238.         try:
  239.                 add = 1
  240.                 for index, item in enumerate(source):
  241.                         if tweet_source == item[0]:
  242.                                 add = 0
  243.                 if add:
  244.                         source.append([tweet_source, str(tweet_created_at.strftime('%m/%d/%Y')), str(tweet_created_at.time())])
  245.  
  246.         except Exception, e:
  247.                 print "\n[ get_source() Error ]\n\tError message:\t ", e, "\n"
  248.                 sys.exit(1)
  249.  
  250. ################
  251. # Get hashtags user mentions
  252. ################
  253. def get_hashtags_user_mentions(request, name, tag, tweet_info, tweet_created_at):
  254.         try:
  255.                 tmp = ""
  256.                 for i in tweet_info:
  257.                         if i[name].encode('utf-8'):
  258.                                 tmp = tmp + tag + i[name].encode('utf-8') + " "
  259.                 if len(tmp):
  260.                         if not [tmp, tweet_created_at.strftime('%m/%d/%Y'), tweet_created_at.time()] in request:
  261.                                 if arg_time:
  262.                                         request.append([tmp, tweet_created_at.strftime('%m/%d/%Y'), tweet_created_at.time()])
  263.                                 else:
  264.                                         add = 1
  265.                                         for m in request:
  266.                                                 if tmp.lower() in m[0].lower():
  267.                                                         add = 0
  268.                                         if add:
  269.                                                 request.append([tmp, tweet_created_at.strftime('%m/%d/%Y'), tweet_created_at.time()])
  270.  
  271.         except Exception, e:
  272.                 print "\n[ get_hashtags_user_mentions() Error ]\n\tError message:\t ", e, "\n"
  273.                 sys.exit(1)
  274.  
  275. ################
  276. # Get geo info
  277. ################
  278. def get_geo_info(tweet_place, tweet_geo, tweet_created_at):
  279.         try:
  280.                 splace = ""
  281.                 sgeo = ""
  282.                 add = 0
  283.                 if tweet_place:
  284.                         splace = tweet_place.name.encode('utf-8')
  285.                         add = 1
  286.                 if tweet_geo:
  287.                         sgeo = tweet_geo['coordinates']
  288.                         add = 1
  289.                 if add:
  290.                         sinfo = splace + " " + str(sgeo)
  291.                 else:
  292.                         sinfo = ""             
  293.                 geo_info.append([sinfo, str(tweet_created_at.strftime('%m/%d/%Y')), str(tweet_created_at.time())])
  294.  
  295.         except Exception, e:
  296.                 print "\n[ get_geo_info() Error ]\n\tError message:\t ", e, "\n"
  297.                 sys.exit(1)
  298.  
  299. ################
  300. # Get tweets with word
  301. ################
  302. def get_tweets_with_word(tweet_text, tweet_created_at):
  303.         try:
  304.                 if arg_find.lower() in tweet_text.lower() or arg_output:
  305.                         tweet_with_word.append([tweet_text, str(tweet_created_at.strftime('%m/%d/%Y')), str(tweet_created_at.time())])
  306.  
  307.         except Exception, e:
  308.                 print "\n[ get_tweets_with_word() Error ]\n\tError message:\t ", e, "\n"
  309.                 sys.exit(1)
  310.  
  311. ################
  312. # Get user images
  313. ################
  314. def get_user_images(tweet_text, tweet_created_at):
  315.         try:
  316.                 urlimg = ""
  317.                 spic = tweet_text.find("http://t.co/")
  318.                 if spic > -1:
  319.                         if (spic+22) < 141:
  320.                                 url = tweet_text[spic:spic+22]
  321.                                 response = urllib2.urlopen(url)
  322.                                 if response:
  323.                                         html = response.read()
  324.                                         if html:
  325.                                                 findurl = html.find("https://pbs.twimg.com/media/")
  326.                                                 if findurl > -1:
  327.                                                         urlimg = html[findurl:findurl+47]
  328.                                                         if arg_pics == "1":
  329.                                                                 if not os.path.isdir(user.screen_name):
  330.                                                                         os.mkdir(user.screen_name)
  331.                                                                 img = urllib2.urlopen(urlimg).read()
  332.                                                                 filename = urlimg.split('/')[-1]
  333.                                                                 if not os.path.exists(user.screen_name+"/"+filename):
  334.                                                                         f = open(user.screen_name+"/"+filename, 'wb')
  335.                                                                         f.write(img)
  336.                                                                         f.close()
  337.  
  338.                 tweet_images.append([urlimg, str(tweet_created_at.strftime('%m/%d/%Y')), str(tweet_created_at.time())])
  339.  
  340.         except Exception, e:
  341.                 tweet_images.append(["", "", ""])
  342.                 #print "\n[ get_user_images() Error ]\n\tError message:\t ", e, "\n"
  343.                 return 1
  344.  
  345. ################
  346. # Is valid
  347. ################
  348. def is_valid(tweet):
  349.         try:
  350.                 valid = 1
  351.                 time = str(tweet.created_at.time())
  352.                 if time < arg_stime or time > arg_etime:
  353.                         valid = 0
  354.  
  355.                 date = str(tweet.created_at.strftime('%Y/%m/%d'))
  356.                 if date < arg_sdate or date > arg_edate:
  357.                         valid = 0
  358.  
  359.                 return valid
  360.  
  361.         except Exception, e:
  362.                 print "\n[ is_valid() Error ]\n\tError message:\t ", e, "\n"
  363.                 sys.exit(1)
  364.  
  365. ################
  366. # Get detail info for twitter user name
  367. ################
  368. def get_details():
  369.         try:
  370.                 page = 1
  371.                 tweets = 0             
  372.                 while True:
  373.                         timeline = api.user_timeline(screen_name=user.screen_name, include_rts=True, count=arg_count, page=page)
  374.                         if timeline:
  375.                                 for tweet in timeline:
  376.                                         tweets += 1
  377.                                         if is_valid(tweet):
  378.                                                 if arg_source:
  379.                                                         get_source(tweet.source.encode('utf-8'), tweet.created_at)
  380.                                                 if arg_hashtags:
  381.                                                         get_hashtags_user_mentions(hashtags, 'text', '#', tweet.entities['hashtags'], tweet.created_at)
  382.                                                 if arg_mentions:                               
  383.                                                         get_hashtags_user_mentions(user_mentions, 'screen_name', '@', tweet.entities['user_mentions'], tweet.created_at)
  384.                                                 if arg_pics == "1" or (arg_pics == "0" and arg_geofile):
  385.                                                         get_user_images(tweet.text.encode('utf-8'), tweet.created_at)
  386.                                                 if arg_geofile:                        
  387.                                                         get_geo_info(tweet.place, tweet.geo, tweet.created_at)
  388.                                                 if arg_find or arg_geofile:
  389.                                                         get_tweets_with_word(tweet.text.encode('utf-8'), tweet.created_at)
  390.  
  391.                                         sys.stdout.write("\r\t" + str(tweets) + " tweets analyzed")
  392.                                         sys.stdout.flush()                                                                             
  393.                                         if tweets >= int(arg_count):
  394.                                                 print
  395.                                                 break
  396.                         else:
  397.                                 break
  398.                         page += 1
  399.                         if tweets >= int(arg_count):
  400.                                 break
  401.                 print
  402.         except Exception, e:
  403.                 print "\n[ get_details() Error ]\n\tError message:\t ", e, "\n"
  404.                 sys.exit(1)
  405.  
  406.  
  407. ################
  408. # Show tweet info
  409. ################
  410. def show_tweet_info(tweet_info, header):
  411.         try:
  412.                 if arg_time:
  413.                         print_data(chr(27) + color + "\tDate         Time       " + header + chr(27) + "[0m")
  414.                 else:
  415.                         print_data(chr(27) + color + "\tDate         " + header + chr(27) + "[0m")
  416.                 print_data("\t------------------------------------")
  417.  
  418.                 c = 0
  419.                 for i in tweet_info:
  420.                         if len(i[0]) > 1:
  421.                                 if arg_time:
  422.                                         print_data("\t" + str(i[1]) + " - " + str(i[2]) + " - " + str(i[0]))
  423.                                 else:
  424.                                         print_data("\t" + str(i[1]) + " - " + str(i[0]))
  425.                                 c = c + 1      
  426.  
  427.                 print_data ("\n\t" + str(c) + " results.")             
  428.                 print_data ("")
  429.  
  430.         except Exception, e:
  431.                 print "\n[ show_tweet_info() Error ]\n\tError message:\t ", e, "\n"
  432.                 sys.exit(1)
  433.  
  434.  
  435. ################
  436. # Generates KML file
  437. ################
  438. def generates_geofile(geo_info, tweets):
  439.         kml_file_content = ""
  440.         kml_file_header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://earth.google.com/kml/2.2\">\n<Folder>\n"
  441.         kml_file_body = ""
  442.         kml_file_foot = "</Folder>\n</kml>"
  443.         lat = ""
  444.         lon = ""
  445.         cdata = ""
  446.         header = ""
  447.         content = ""
  448.         try:
  449.                 f = open(arg_geofile, "w")
  450.                 c = 0
  451.                 for i in geo_info:
  452.                         photo = ""
  453.                         scoordinates = str(i[0]).find("[")
  454.                         ecoordinates = str(i[0]).find("]")
  455.                         lat = str(i[0])[scoordinates+1:str(i[0]).find(",")]
  456.                         lon = str(i[0])[str(i[0]).find(",")+2:ecoordinates]
  457.                         if scoordinates > 0 and ecoordinates > 0:
  458.                                 header = "<table bgcolor=\"#000000\" width=\"100%\"><tr><td><font color=\"white\"><b>" + program_name + " " + program_version + "</b></font><td align=\"right\"><font color=\"white\">@vaguileradiaz</font></td></tr></table>"
  459.                                 content = "<table width=\"100%\"><tr><td width=\"48\"><img src=\""+user.profile_image_url+"\"></td><td bgcolor=\"#cde4f3\"><b>" + user.name.encode('utf-8') + "</b> @" + user.screen_name.encode('utf-8') + "<br>" + tweets[c][0] + "</td></tr></table>"
  460.                                 if arg_pics:
  461.                                         if tweet_images[c][0]:
  462.                                                 photo = " [Photo] "
  463.                                                 content += "<table width=\"100%\"><tr><td><img src=\"" + tweet_images[c][0] + "\"></td></tr></table>"
  464.                                 cdata = "\t\t<![CDATA[" + header + content + "]]>\n"
  465.                                 snippet = str(i[0][0:scoordinates-1].replace('&','and')) + photo
  466.                                 kml_file_body += "\t<Placemark>\n"
  467.                                 kml_file_body += "\t\t<name>" + str(i[1]) + " - " + str(i[2]) + "</name>\n"
  468.                                 kml_file_body += "\t\t<Snippet>" + snippet + "</Snippet>\n"
  469.                                 kml_file_body += "\t\t<description>\n" + cdata + "\t\t</description>\n"                        
  470.                                 kml_file_body += "\t\t<Point>\n"
  471.                                 kml_file_body += "\t\t\t<coordinates>" + lon + "," + lat + "</coordinates>\n"
  472.                                 kml_file_body += "\t\t</Point>\n"
  473.                                 kml_file_body += "\t</Placemark>\n"
  474.                         c = c + 1
  475.                 kml_file_content = kml_file_header + kml_file_body + kml_file_foot
  476.                 f.write(kml_file_content)
  477.                 f.close()                      
  478.  
  479.         except Exception, e:
  480.                 print "\n[ generates_geofile() Error ]\n\tError message:\t ", e, "\n"
  481.                 sys.exit(1)
  482.  
  483. ################
  484. # Main function
  485. ################
  486. def main():
  487.         global user
  488.         global fd
  489.  
  490.         try:
  491.                 show_credits()
  492.                 get_options()
  493.                 if arg_output:
  494.                         fd = open(arg_output, "w")
  495.                 if arg_name == "" :
  496.                         show_usage()
  497.                 else:
  498.                         if arg_basic or arg_source or arg_hashtags or arg_mentions or arg_find or arg_geofile or arg_pics == "1" or (arg_pics == "0" and arg_geofile):
  499.                                 user = api.get_user(arg_name)
  500.                                 print_data ("Looking info for @"  + user.screen_name)
  501.                                 print_data ("")                        
  502.                                 if arg_basic:
  503.                                         get_basic_info()
  504.                                 if arg_source or arg_hashtags or arg_mentions or arg_find or arg_geofile or arg_pics:
  505.                                         get_details()
  506.                                 if arg_source:
  507.                                         show_tweet_info(source, "Source")
  508.                                 if arg_hashtags:
  509.                                         show_tweet_info(hashtags, "Hashtags")
  510.                                 if arg_mentions:
  511.                                         show_tweet_info(user_mentions, "User mentions")
  512.                                 if arg_find:
  513.                                         show_tweet_info(tweet_with_word, "Word [" + arg_find + "]")
  514.                                 if arg_geofile:
  515.                                         show_tweet_info(geo_info, "Geolocation information")
  516.                                         generates_geofile(geo_info, tweet_with_word)                                                   
  517.                         else:
  518.                                 show_usage()
  519.  
  520.                 show_final_message()
  521.                 if arg_output:
  522.                         fd.close()                     
  523.         except Exception, e:
  524.                 print "\n[ main() Error ]\n\tError message:\t ", e, "\n"
  525.                 sys.exit(1)
  526.  
  527. main()

Github Link: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Creditos: @h4ckzu5

Espero que les sirva!
Saludos!
ANTRAX
« Última modificación: Enero 19, 2016, 11:30:22 am por ANTRAX »


Desconectado visior

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Enero 19, 2016, 03:24:07 am »
Muy buen aporte! Muchas gracias!!! Esta tarde lo pruebo y vuelvo a comentar. Pero tiene muy buena pinta, sobretodo para footprinting.
La mayor de las vulnerabilidades y la más difícil de parchear es la humana.

Desconectado h4ckzu5

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Enero 19, 2016, 05:58:00 am »
Se te olvido poner que necesitas los token de twitter y mis saludos
by h4ckzu5

Desconectado Snifer

  • *
  • Underc0der
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • Snifer@L4b's
    • Ver Perfil
    • Snifer@L4bs
  • Twitter: sniferl4bs
« Respuesta #3 en: Enero 19, 2016, 10:44:13 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Se te olvido poner que necesitas los token de twitter y mis saludos
by h4ckzu5

Creo que el que quiera usar le tocara investigar y no solo consumir ;).

Regards,
Snifer
No tienes permisos para ver links. Registrate o Entra con tu cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado ezephp

  • *
  • Underc0der
  • Mensajes: 46
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Enero 19, 2016, 11:04:40 am »
la estoy intentando usar, y en la mayoria de los casos que quiero averiguar la localizacion, tira este error:

[ get_details() Error ]
   Error message:     [{'message': 'Internal error', 'code': 131}]

Me supongo que la api de face le esta tirando un internal error al script verdad?.

Intente varias veces el 80% tira ese error y el 20% no encontro ninguna localizacion.


En que se basa para obtener la localizacion?, el usuario debio publicar un twitter con gps prendido?


Saludos!

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5401
  • Actividad:
    41.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #5 en: Enero 19, 2016, 11:31:51 am »
@No tienes permisos para ver links. Registrate o Entra con tu cuenta, hecho! gracias bro!!
@No tienes permisos para ver links. Registrate o Entra con tu cuenta, al error te lo tira siempre con los mismos usuarios o con diferentes?

Saludos!
ANTRAX


Desconectado Hexs

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    0%
  • Reputación 0
  • Mandefua
    • Ver Perfil
    • Email
  • Skype: xhexos
« Respuesta #6 en: Enero 19, 2016, 11:37:42 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Se te olvido poner que necesitas los token de twitter y mis saludos
by h4ckzu5

Si lees el readme podras notar que el autor indica que hace faltan 4 variables y la documentacion para poder obtenerlas.

cheers

Desconectado ezephp

  • *
  • Underc0der
  • Mensajes: 46
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #7 en: Enero 19, 2016, 11:46:46 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
@No tienes permisos para ver links. Registrate o Entra con tu cuenta, hecho! gracias bro!!
@No tienes permisos para ver links. Registrate o Entra con tu cuenta, al error te lo tira siempre con los mismos usuarios o con diferentes?

Saludos!
ANTRAX

Con diferentes, habre probado unos 3 o 4 usuarios, de los cuales si insisto, insisto, insisto, en algun momento deja de tirar ese error y tira el resultado ( el cual nunca encuentra la localizacion), uno de esos usuarios que probe, fue el del ejemplo que mostras en el primer post.

Desconectado sercheo_87

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Enero 20, 2016, 12:41:37 am »
Q buen script, funciono a la primera :)

Desconectado FEROZ123

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #9 en: Enero 23, 2016, 03:21:22 pm »
Gracias por el aporte ante todo.

Alguno le aparece la geolocalizacion nunca muestra resultado.


Desconectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1914
  • Actividad:
    1.67%
  • Reputación 15
    • Ver Perfil
« Respuesta #10 en: Enero 24, 2016, 06:15:16 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Gracias por el aporte ante todo.

Alguno le aparece la geolocalizacion nunca muestra resultado.

A mi me funcionó y por lo que parece a @No tienes permisos para ver links. Registrate o Entra con tu cuenta también.

Saludos.



Desconectado SoterRamirez

  • *
  • Underc0der
  • Mensajes: 4
  • Actividad:
    0%
  • Reputación 0
  • La tecnología actúa conforme el usuario lo maneja
    • Ver Perfil
  • Twitter: https://twitter.com/SoterRamirez
« Respuesta #11 en: Marzo 07, 2016, 12:10:03 am »
Muy buen aporte!! Gracias por la info del script

Desconectado Yavi

  • *
  • Underc0der
  • Mensajes: 169
  • Actividad:
    0%
  • Reputación 0
  • Es como una pagina redirigiendose a si misma
    • Ver Perfil
    • Email
  • Skype: yavios@hotmail.com
  • Twitter: @YaviOS64
« Respuesta #12 en: Marzo 07, 2016, 11:13:06 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Se te olvido poner que necesitas los token de twitter y mis saludos
by h4ckzu5

Creo que el que quiera usar le tocara investigar y no solo consumir ;).

Regards,
Snifer

Creo que el compañero @No tienes permisos para ver links. Registrate o Entra con tu cuenta quiso decir otra cosa @No tienes permisos para ver links. Registrate o Entra con tu cuenta .
"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux

Desconectado blacksucces

  • *
  • Underc0der
  • Mensajes: 46
  • Actividad:
    0%
  • Reputación 0
  • Nada es seguro y todo es posible
    • Ver Perfil
« Respuesta #13 en: Marzo 07, 2016, 11:22:42 am »
Muy bueno me pondré al tema en cuanto pueda gracias @antrax

Enviado desde mi SM-N9005 mediante Tapatalk

No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Gn0m3

  • *
  • Underc0der
  • Mensajes: 394
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil
    • Underc0de
« Respuesta #14 en: Marzo 07, 2016, 02:59:56 pm »
Les dejo el link de la ultima versión oficial:

No tienes permisos para ver links. Registrate o Entra con tu cuenta

Y la web del autor:

No tienes permisos para ver links. Registrate o Entra con tu cuenta


Saludos

Gn0m3

 

¿Te gustó el post? COMPARTILO!



[Phishing] Página de phishing para Twitter

Iniciado por bernatixer

Respuestas: 8
Vistas: 4577
Último mensaje Enero 07, 2016, 10:23:35 am
por ANTRAX
SocialBox FrameWork BruteForce [Facebook, Gmail, Instragram,Twitter]

Iniciado por R3v0lve

Respuestas: 10
Vistas: 1284
Último mensaje Octubre 23, 2018, 02:31:13 am
por arthusu
Tweetshell - Revienta cuentas de Twitter con fuerza bruta

Iniciado por ANTRAX

Respuestas: 2
Vistas: 1482
Último mensaje Septiembre 23, 2018, 03:26:40 am
por Drok3r
Metadatos | Análisis de cuentas en Twitter (Patrones de actividad)

Iniciado por qwartz

Respuestas: 2
Vistas: 2083
Último mensaje Agosto 03, 2017, 12:55:08 pm
por zoro248
Tinfoleak v2.0 Tool de OSINT de twitter

Iniciado por Rootkit_Pentester

Respuestas: 1
Vistas: 1925
Último mensaje Enero 17, 2017, 11:40:20 pm
por R3v0lve