The link that I sent was to a file called taxStuff.doc which doesn't actually exist on my server, but should give me a nice "File does not exist" message with their IP.
So I said a few things in the private message to make the link enticing, then paste in the link, while tailing the httpd log file. The trap is set.
... and bam, I get 2 hits.
[Mon May 06 18:10:13 2013] [error] [client x.x.62.182] File does not exist: /var/www/html/MYSERVER/taxStuff.doc
[Mon May 06 18:14:40 2013] [error] [client 173.252.73.112] File does not exist: /var/www/html/MYSERVER/taxStuff.doc
Wait, why 2 hits? Well, let's do a whois on that second IP:
~$ whois 173.252.73.112
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
#
# The following results may also be obtained via:
# http://whois.arin.net/rest/nets;q=173.252.73.112?showDetails=true&showARIN=false&ext=netref2
#
NetRange: 173.252.64.0 - 173.252.127.255
CIDR: 173.252.64.0/18
OriginAS: AS32934
NetName: FACEBOOK-INC
NetHandle: NET-173-252-64-0-1
Parent: NET-173-0-0-0-0
NetType: Direct Assignment
RegDate: 2011-02-28
Updated: 2012-02-24
Ref: http://whois.arin.net/rest/net/NET-173-252-64-0-1
OrgName: Facebook, Inc.
OrgId: THEFA-3
Address: 1601 Willow Rd.
City: Menlo Park
StateProv: CA
PostalCode: 94025
Country: US
RegDate: 2004-08-11
Updated: 2012-04-17
Ref: http://whois.arin.net/rest/org/THEFA-3
OrgAbuseHandle: OPERA82-ARIN
OrgAbuseName: Operations
OrgAbusePhone: +1-650-543-4800
OrgAbuseEmail: domain@facebook.com
OrgAbuseRef: http://whois.arin.net/rest/poc/OPERA82-ARIN
OrgTechHandle: OPERA82-ARIN
OrgTechName: Operations
OrgTechPhone: +1-650-543-4800
OrgTechEmail: domain@facebook.com
OrgTechRef: http://whois.arin.net/rest/poc/OPERA82-ARIN
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#
A little more testing, and it looks like whenever someone clicks a link from a facebook private message, facebook kindly attempts to go and get the resource too. Now you might be thinking that this is facebook doing their prefetching thing, so they can show you a thumbnail of what someone is sending you. Doesn't look like it. Unfortunately, the hit comes as soon as someone clicks the link, not before.
Now it just doesn't seem right that when I'm trying to be all creepy on facebook, that facebook gets creepy back. I mean, guys, can you please leave the invasions of privacy to those of us leveraging your site to creep on others.
And now I'm sitting here thinking of all the ways this "feature" could possibly be abused. I wonder how big of a file I can get them to request from me.... I wonder if someone could make facebook send a flood of HTTP gets to the Pentagon.... hmmm
#################
EDIT, MORE INFO
So, looking at a packet capture of the get request, facebook hands us a URL:
Well that was nice of them. Let's check out what that page is.
That makes sense. It does seem to be broken to me though, considering the hit only comes when the user clicks the link... kind of defeats the purpose of a preview. And hey, facebook isn't being as creepy as I suspected. All is well on the internet again, and the only one creeping your facebook is me.













