API Blacklist of IP Addresses


#1

Does twitter blacklist IP address blocks from transgressions in the past? We have an application that we’re building (using oAuth), and from the servers in production we get a “not connected” even through from other computers it works. I believe the previous residents in our production IP block had been bad players and had gotten those IPs blocked from numerous email / blacklisting services; which we’ve been able to get off of them; but now we’re bumping into twitter.


#2

If you believe your IP address to be blacklisted, follow these instructions for further review:
[faq:5820]


#3

I started there; and contacted api@twitter.com and it said that I should file a ticket, seeing that no category fit, it seemed that the discussion forums were the place to take it. Sorry - I could use a little bit more clarification.


#4

Can you tell me more about the indications you’re seeing that your IP addresses have been blacklisted? Some example request-and-response scenarios that indicate? Thanks!


#5

web browser to api.twitter.com - never seems to come back (times out). doing so from another block of IP addresses works. Seems like all twitter assets - I get a timeout from any browser. I can browse both SSL and Non SSL to other sites (non-witter).

API error is “Connection timed out” through oAuth.

I’m able to successfully use oAuth to other providers, just not twitter


#6

Do you have any kind of proxy server you’re going through? Can you show me the output of these two commands?

curl --verbose "https://api.twitter.com/1/help/test.json" traceroute api.twitter.com

#7

I have some more information, Tracert from our server to twitter is the following:

Tracing route to api.twitter.com [199.59.149.232]
over a maximum of 30 hops:

1 10 ms 1 ms 1 ms v122.chi1.ubiquity.io [64.120.20.65]
2 3 ms 5 ms 2 ms edge1.chi2.ubiquityservers.com [69.31.111.65]
3 1 ms 1 ms 1 ms ae1-40g.cr1.ord1.us.nlayer.net [69.31.111.133]
4 51 ms 51 ms 51 ms mpr1.ord7.us [206.223.119.86]
5 61 ms 61 ms 62 ms xe-1-3-0.cr1.ord2.us.above.net [64.125.30.142]
6 83 ms 82 ms 83 ms xe-2-1-0.cr1.lga5.us.above.net [64.125.27.170]
7 83 ms 82 ms 83 ms xe-2-2-0.cr1.dca2.us.above.net [64.125.26.97]
8 83 ms 83 ms 83 ms xe-1-0-1.er1.iad10.us.above.net [64.125.26.238]

9 * * * Request timed out.

Message from our ISP:
This is a known issue regarding twitter – They have blocked several large portions of our network. We are working with them to resolve the issue, but unfortunately don’t have any kind of ETA for resolution at this time. We apologize for the inconvenience.

Is there anything we can do to remove at least our IP addresses from the blacklist?


#8

Hi Taylor,

I also have a blacklisted ip address.
I have been using my personal authentication only for a few days for research purpose.
I get results from Streaming API on any other ips except a particular ip.
When I tried both ‘curl’ and ‘traceroute’ commands, I got this.

-------CURL---------
$ curl --verbose “https://api.twitter.com/1/help/test.json”* About to connect() to api.twitter.com port 443 (#0)

  • Trying 199.59.150.9… connected
  • Connected to api.twitter.com (199.59.150.9) port 443 (#0)
  • successfully set certificate verify locations:
  • CAfile: none
    CApath: /etc/ssl/certs
  • SSLv3, TLS handshake, Client hello (1):
  • SSLv3, TLS handshake, Server hello (2):
  • SSLv3, TLS handshake, CERT (11):
  • SSLv3, TLS handshake, Server finished (14):
  • SSLv3, TLS handshake, Client key exchange (16):
  • SSLv3, TLS change cipher, Client hello (1):
  • SSLv3, TLS handshake, Finished (20):
  • SSLv3, TLS change cipher, Client hello (1):
  • SSLv3, TLS handshake, Finished (20):
  • SSL connection using RC4-SHA
  • Server certificate:
  • subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; OU=Twitter Security; CN=api.twitter.com
  • start date: 2012-05-02 00:00:00 GMT
  • expire date: 2013-05-03 23:59:59 GMT
  • subjectAltName: api.twitter.com matched
  • issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa ©09; CN=VeriSign Class 3 Secure Server CA - G2
  • SSL certificate verify ok.

GET /1/help/test.json HTTP/1.1
User-Agent: curl/7.21.3 (x86_64-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: api.twitter.com
Accept: /

< HTTP/1.1 200 OK
< Date: Wed, 26 Dec 2012 20:55:37 GMT
< Status: 200 OK
< Pragma: no-cache
< Last-Modified: Wed, 26 Dec 2012 20:55:37 GMT
< Content-Type: application/json; charset=utf-8
< X-Runtime: 0.01738
< X-Transaction: 14cdf010ea2cf19d
< X-MID: 72a82e39be5b9a06f38f300c84eaa67d62365e52
< Content-Length: 4
< X-Transaction-Mask: a6183ffa5f8ca943ff1b53b5644ef11458609571
< Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
< Expires: Tue, 31 Mar 1981 05:00:00 GMT
< X-Frame-Options: SAMEORIGIN
< ETag: “72054d9a6fbdcc7df012e19f32345b65”
< Set-Cookie: k=10.36.77.106.1356555337854637; path=/; expires=Wed, 02-Jan-13 20:55:37 GMT; domain=.twitter.com
< Set-Cookie: guest_id=v1%3A13565553378604345; domain=.twitter.com; path=/; expires=Sat, 27-Dec-2014 08:55:37 GMT
< Set-Cookie: _twitter_sess=BAh7CDoPY3JlYXRlZF9hdGwrCIXA%252F9g7ASIKZmxhc2hJQzonQWN0aW9uQ29u%250AdHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoHaWQiJWI3%250ANGY5NTdiOGI5Yjk2NWY3YzhmNjRjNjA5OTdjZWEz–c864043ff8de1978cdb5fab49f33cc3bd2cb4da1; domain=.twitter.com; path=/; HttpOnly
< Vary: Accept-Encoding
< Server: tfe
<

  • Connection #0 to host api.twitter.com left intact
  • Closing connection #0
  • SSLv3, TLS alert, Client hello (1):
    “ok”

---------TraceRoute---------
$ traceroute api.twitter.com
traceroute to api.twitter.com (199.59.149.232), 30 hops max, 60 byte packets
1 128.111.26.1 (128.111.26.1) 0.578 ms 0.694 ms 0.862 ms
2 574-c-v1071.noc.ucsb.edu (128.111.4.52) 0.532 ms 0.655 ms 0.827 ms
3 r2–574-c–2.commserv.ucsb.edu (128.111.252.148) 0.645 ms 0.712 ms 0.800 ms
4 dc-lax-dc2–dc-ucsb.cenic.net (137.164.23.2) 3.104 ms 3.103 ms 3.098 ms
5 dc-lax-core1–lax-agg1-ge.cenic.net (137.164.46.105) 4.168 ms 4.166 ms 4.161 ms
6 dc-lax-isp2–lax-core1-10ge.cenic.net (137.164.47.136) 3.279 ms 3.053 ms 3.090 ms
7 xe-9-3-0.edge5.LosAngeles1.Level3.net (4.59.48.177) 3.158 ms 3.181 ms 3.171 ms
8 vlan90.csw4.LosAngeles1.Level3.net (4.69.144.254) 14.145 ms vlan60.csw1.LosAngeles1.Level3.net (4.69.144.62) 3.517 ms vlan70.csw2.LosAngeles1.Level3.net (4.69.144.126) 6.551 ms
9 ae-83-83.ebr3.LosAngeles1.Level3.net (4.69.137.41) 3.324 ms ae-73-73.ebr3.LosAngeles1.Level3.net (4.69.137.37) 3.141 ms 3.156 ms
10 ae-3-3.ebr1.SanJose1.Level3.net (4.69.132.9) 8.537 ms 8.609 ms 8.594 ms
11 ae-61-61.csw1.SanJose1.Level3.net (4.69.153.2) 20.056 ms ae-91-91.csw4.SanJose1.Level3.net (4.69.153.14) 8.584 ms ae-81-81.csw3.SanJose1.Level3.net (4.69.153.10) 8.564 ms
12 ae-3-80.edge2.SanJose3.Level3.net (4.69.152.145) 8.964 ms ae-1-60.edge2.SanJose3.Level3.net (4.69.152.17) 9.090 ms ae-3-80.edge2.SanJose3.Level3.net (4.69.152.145) 8.976 ms
13 TWITTER-INC.edge2.SanJose3.Level3.net (4.53.210.50) 9.027 ms 9.046 ms 9.130 ms
14 ae53.smf1-er2.twttr.com (199.16.159.41) 14.733 ms 14.728 ms 20.020 ms
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

I also tried to issue another curl command as follows.

$ curl -i -u penguinkang:******** http://api.twitter.com/1/account/rate_limit_status.json -v* About to connect() to api.twitter.com port 80 (#0)* Trying 199.59.148.87… connected

  • Connected to api.twitter.com (199.59.148.87) port 80 (#0)
  • Server auth using Basic with user ‘penguinkang’

GET /1/account/rate_limit_status.json HTTP/1.1
Authorization: Basic cGVu****************************Dg=
User-Agent: curl/7.21.3 (x86_64-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: api.twitter.com
Accept: /

< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Wed, 26 Dec 2012 20:58:48 GMT
Date: Wed, 26 Dec 2012 20:58:48 GMT
< Status: 200 OK
Status: 200 OK
< X-MID: 3e660da252fc4e92a
X-MID: 3e660
da252fc4e92a
< X-Runtime: 0.02184
X-Runtime: 0.02184
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< ETag: "0c45d2522f8bae037dc352930a76a2c8"
ETag: “0c45d2522f8bae037dc352930a76a2c8”
< Content-Type: application/json; charset=utf-8
Content-Type: application/json; charset=utf-8
< Expires: Tue, 31 Mar 1981 05:00:00 GMT
Expires: Tue, 31 Mar 1981 05:00:00 GMT
< Last-Modified: Wed, 26 Dec 2012 20:58:48 GMT
Last-Modified: Wed, 26 Dec 2012 20:58:48 GMT
< X-Transaction: 91569
X-Transaction: 915
69
< Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
< Content-Length: 249
Content-Length: 249
< X-Transaction-Mask: a6183ffa5f88609571
X-Transaction-Mask: a6183ffa5f8
8609571
< Pragma: no-cache
Pragma: no-cache
< Set-Cookie: k=10.36.114.110.1356555528421146; path=/; expires=Wed, 02-Jan-13 20:58:48 GMT; domain=.twitter.com
Set-Cookie: k=10.36.114.110.1356555528421146; path=/; expires=Wed, 02-Jan-13 20:58:48 GMT; domain=.twitter.com
< Set-Cookie: guest_id=v1%3A135655552842424902; domain=.twitter.com; path=/; expires=Sat, 27-Dec-2014 08:58:48 GMT
Set-Cookie: guest_id=v1%3A135655552842424902; domain=.twitter.com; path=/; expires=Sat, 27-Dec-2014 08:58:48 GMT
< Set-Cookie: dnt=; domain=.twitter.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: dnt=; domain=.twitter.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
< Set-Cookie: lang=en; path=/
Set-Cookie: lang=en; path=/
< Set-Cookie: lang=en; path=/
Set-Cookie: lang=en; path=/
< Set-Cookie: lang=en; path=/
Set-Cookie: lang=en; path=/
< Set-Cookie: twid=u%3D64969508%7CcWNRn%2F26z02C3eitbs5dKtEcI%2FM%3D; domain=.twitter.com; path=/; secure
Set-Cookie: twid=u%3D64969508%7CcWNRn%2F26z02C3eitbs5dKtEcI%2FM%3D; domain=.twitter.com; path=/; secure
< Set-Cookie: _twitter_sess=BAh7CDoPY3xhc2hJQzonQWN0aW9uQ29u%250AdHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjo5%250AZmFlNjA5MTZkZjY3N2RkNjQwYzU5MWI1c51bddd8c9e30ab612edc8; domain=.twitter.com; path=/; HttpOnly
Set-Cookie: _twitter_sess=BAh7CDo
hc2hJQzonQWN0aW9uQ29u%250AdHJvbGxlcjo6oSGFzaHsABjoKQHVzQiJTU5%250AZmFlNjA5MTZkZjY3N2RkNjQwYzx****************************948428cc51bddd8c9e30ab612edc8; domain=.twitter.com; path=/; HttpOnly
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Server: tfe
Server: tfe

<

  • Connection #0 to host api.twitter.com left intact
  • Closing connection #0
    {“photos”:{“reset_time”:“Thu Dec 27 20:58:48 +0000 2012”,“reset_time_in_seconds”:1356641928,“remaining_hits”:100,“daily_limit”:100},“reset_time”:“Wed Dec 26 21:58:48 +0000 2012”,“hourly_limit”:0,“reset_time_in_seconds”:1356559128,“remaining_hits”:0}

If I issue the last command on the other ips, I still get 100 of remaining_hits. If I try my script on the banned-ip address, I get 401 error.

Is there anything that I can do to remove my IP address from your blacklist?
Thanks and happy holidays!

Jay


#9

I can’t use OAuth on my website, looks like hosting provider ip-address[81.177.159.5] is blocked.
Here’s tracert output:

Tracing route to api.twitter.com [199.59.149.232]
over a maximum of 15 hops:

1 <1 ms <1 ms <1 ms msk-dsr1-ae1-284.rt-comm.ru [81.176.69.129]
2 1 ms <1 ms <1 ms msk-bgw1-xe-1-3-0-0.rt-comm.ru [217.106.0.14]
3 <1 ms <1 ms <1 ms rostelecom.c.rt-comm.ru [195.161.4.138]
4 43 ms 43 ms 43 ms xe-0-0-2.frkt-ar3.intl.ip.rostelecom.ru [87.226.133.3]
5 43 ms 44 ms 44 ms ge-1-0-3.r02.frnkge04.de.bb.gin.ntt.net [213.198.82.165]
6 44 ms 44 ms 43 ms ae-4.r21.frnkge03.de.bb.gin.ntt.net [129.250.4.53]
7 58 ms 55 ms 61 ms ae-3.r22.londen03.uk.bb.gin.ntt.net [129.250.3.137]
8 56 ms 54 ms 56 ms ae-1.r02.londen03.uk.bb.gin.ntt.net [129.250.5.25]
9 * * * Request timed out.
10 * * * Request timed out.
11 * * * Request timed out.
12 * * * Request timed out.
13 * * * Request timed out.
14 * * * Request timed out.
15 * * * Request timed out.

Trace complete.


#10

issue is resolved, thanks!


#11

401 errors do not indicate any kind of IP blacklisting. It’s much more likely that a configuration difference (such as a wrongly set clock) is to blame.


#12

Hello,

I can send tweets with my computer when I use API Oauth but when I use
my web www.compartetren.com, $code = $tmhOAuth->request(‘POST’, $tmh…
i have a $code = ZERO (0)

How do know if my IP is blacklisting.

Thank you for your help and sorry for my english, i’m spanish


#13

I have the same problem. I’ve checked the clocks on my dev and production servers and they are well calibrated. Do you have other potential investigation routes in mind?


#14

ok i think i was black listed …i think i sent too many friend request because i was promoting my Album …i also was going from country to country and sending tweets with my link attached…i wanst aware that this was not allowed …i love being on twitter how can i fix this …


#15

I have a same problem while I’m on university campus. It works fine when I’m at home but the moment I get to the campus nothing happens. here is the result of those two commands:

curl --verbose “https://api.twitter.com/1/help/test.json

  • About to connect() to api.twitter.com port 443 (#0)
  • Trying 199.59.148.20…
  • connected
  • Connected to api.twitter.com (199.59.148.20) port 443 (#0)
  • SSLv3, TLS handshake, Client hello (1):
  • SSLv3, TLS handshake, Server hello (2):
  • SSLv3, TLS handshake, CERT (11):
  • SSLv3, TLS handshake, Server finished (14):
  • SSLv3, TLS handshake, Client key exchange (16):
  • SSLv3, TLS change cipher, Client hello (1):
  • SSLv3, TLS handshake, Finished (20):
  • SSLv3, TLS change cipher, Client hello (1):
  • SSLv3, TLS handshake, Finished (20):
  • SSL connection using RC4-SHA
  • Server certificate:
  • subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; OU=Twitter Security; CN=api.twitter.com
  • start date: 2013-04-08 00:00:00 GMT
  • expire date: 2013-12-31 23:59:59 GMT
  • subjectAltName: api.twitter.com matched
  • issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa ©09; CN=VeriSign Class 3 Secure Server CA - G2
  • SSL certificate verify ok.

GET /1/help/test.json HTTP/1.1
User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Host: api.twitter.com
Accept: /

< HTTP/1.1 200 OK
< cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
< content-length: 4
< content-type: application/json; charset=utf-8
< date: Wed, 24 Apr 2013 02:29:19 GMT
< etag: “72054d9a6fbdcc7df012e19f32345b65”
< expires: Tue, 31 Mar 1981 05:00:00 GMT
< last-modified: Wed, 24 Apr 2013 02:29:19 GMT
< pragma: no-cache
< server: tfe
< set-cookie: _twitter_sess=BAh7BzoPY3JlYXRlZF9hdGwrCEmq3zk%252BAToHaWQiJTI5NjhjYWQ0NWJiMGRm%250ANGZmZWRjMzc3MzFkNDRiZGYy–0ecd674dcc33fe71eea9551ab1bf27ff69792e50; domain=.twitter.com; path=/; HttpOnly
< set-cookie: guest_id=v1%3A136677055953707034; Domain=.twitter.com; Path=/; Expires=Fri, 24-Apr-2015 02:29:19 UTC
< status: 200 OK
< strict-transport-security: max-age=631138519
< vary: Accept-Encoding
< x-frame-options: SAMEORIGIN
< x-mid: 2c858a15515be72793129705e8111c874abd6ede
< x-runtime: 0.01287
< x-transaction: dd44175942b3142f
< x-transaction-mask: a6183ffa5f8ca943ff1b53b5644ef114aba154c4
<

  • Connection #0 to host api.twitter.com left intact
    "ok"* Closing connection #0
  • SSLv3, TLS alert, Client hello (1):

and:
traceroute api.twitter.com
traceroute: Warning: api.twitter.com has multiple addresses; using 199.59.148.20
traceroute to api.twitter.com (199.59.148.20), 64 hops max, 52 byte packets
1 * * *
2 202.184.111.70 (202.184.111.70) 55.344 ms 4.149 ms 67.423 ms
3 202.184.111.65 (202.184.111.65) 2.794 ms 2.028 ms 2.160 ms
4 161.142.5.249 (161.142.5.249) 5.054 ms 11.720 ms 4.522 ms
5 te0-1-0-0.bkj96.jaring.my (61.6.51.13) 4.503 ms 5.692 ms 4.282 ms
6 te0-0-1-0.bkj97.jaring.my (61.6.10.10) 6.118 ms 6.328 ms 8.313 ms
7 103.23.192.5 (103.23.192.5) 41.553 ms 39.582 ms 40.473 ms
8 xe-4-0-0-xcr1.sng.cw.net (195.2.10.178) 123.662 ms 72.833 ms 97.916 ms
9 13414.sgw.equinix.com (202.79.197.113) 71.229 ms 69.744 ms 70.522 ms
10 13414.sgw.equinix.com (202.79.197.113) 74.643 ms
xe-0-3-0.sjc2-cr2.twttr.com (199.16.159.23) 225.292 ms 260.731 ms
11 ae53.smf1-er2.twttr.com (199.16.159.41) 226.053 ms 227.757 ms 230.290 ms
12 r-199-59-148-20.twttr.com (199.59.148.20) 228.508 ms
ae53.smf1-er2.twttr.com (199.16.159.41) 232.946 ms 227.753 ms

It’s a same machine btw. If the IP addresses on-campus were blocked, any chance to bring them back?


#16

I’m having the same issue however I went to one of our other offices and it works fine there, how do you go about getting the IP removed as i cant find any info on doing so anywhere.


#17

it’s unclear to me - I’m experiencing the same problem - if twitter blocks the server’s IP or a specific website’s IP. I have contacted the support and was lucky once, when they replied very quickly telling me that my website’s IP isn’t blocked. However the server can’t ping the api. If there were some sort of list of blocked IPs we could check withtout having to contact the support every now and then (I am sure they have better stuff to do…)


#18

No twitter updates anymore.

After making a newsitem on the website there is no twitter update anymore on twitter… Also the tweetblender plugin says

Geen tweets gevonden op #medemblik #hoorn #enkhuizen #grootebroek #hoogkarspel #andijk #lutjebroek #hem #venhuizen #wognum #opmeer #wervershoof #westwoud #wijdenes #hoogwoud #hensbroek

no tweets found …

is there a problem?


#19

well for what concerns my specific case, even though the folks of the API support had told me that my IP isn’t blocked, there seems to be a massive blacklisting of my server’s IPs. And when I say IPs I mean all of them. This is a rather peculiar situation…With all the junk I see tweeted automatically around, my sever had to be blacklisted lol
You’re probably blacklisted as well. Check with your host. If the server is “yours”, try to ping the api from the server. If not, ask you host to do that. If you have no response, then you’re probably blocked.


#20

Hi how can i know if my IP have been blacklisted? my app complies with all the rules and it was doing good until today, this are the outputs:

Our server is at: 70.39.148.199

curl --verbose “https://api.twitter.com/1.1/help/test.json

  • About to connect() to api.twitter.com port 443 (#0)
  • Trying 199.59.150.9… Connection timed out
  • Trying 199.59.149.232… Connection timed out
  • Trying 199.59.148.87… Connection timed out
  • couldn’t connect to host
  • Closing connection #0
    curl: (7) couldn’t connect to host

*****@autotuits.com [~/www/tests]# traceroute twitter.com
traceroute to twitter.com (199.16.156.6), 30 hops max, 40 byte packets
1 ecvp72.inmotionhosting.com (70.39.145.127) 0.119 ms 0.081 ms 0.059 ms
2 xe-4-1-1.edge2.Washington1.Level3.net (4.79.22.109) 0.778 ms 0.809 ms *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
*****@autotuits.com [~/www/tests]#

thanks