Trace facebook user IP address. Is it even possible? - facebook

AS i know Facebook chat is running on XMPP protocol. It is decentralised, but not P2P. It is similar to email - there is no central server, but lots of domain servers talking to each other and taking care of their clients. I am think about that is it possible to get user IP address who chat with us with coding or programming if so then how?

No, its not possible.
RFC 6120: Extensible Messaging and Presence Protocol (XMPP): Core states the following in Section 13.10: Information Leaks:
13.10.1. IP Addresses
A client's IP address and method of access MUST NOT be made public by
a server (e.g., as typically occurs in [IRC]).
If a client requests its own IP address, that policy is not violated. However, a server MUST NOT return the IP address of another client (e.g., if a connected client sends a SIC request to the bare JID of another user); instead, it MUST return a forbidden error.

No you can't. Only way that would be possible, is by doing som serious social engineering and phising...

Related

Email protocol, mail server change and using another protocol from exist hosting

I have a domain which name is asifulmamun.info
Then, I've purchased a hosting for host website and connect this domain to hosting with cpanel by nameserver change.
I've create an email with this domain from Cpanel i.e. xx#asifulmamun.info.
Hosting provider told me that, my email has a limit for sending or receiving up to (25-30) email per hour.
But, if i will need to send/receive more than email from limitation how can I do this?
I think it's using my hosting server protocol for using mail email service.
Is it possible using another service provider protocol for using more than email from hosting server protocol?
Is it possible to use gmail server without purchase google cloude?
Is it possible, my domain will host in my exist hosting (Cpanel) and mail protocol using another service provider i.e. google, godaddy, aws or any service provider? If possible how?
Yes, you can use different service providers for incoming emails and for outgoing emails. In particular, you can use several email service providers for outgoing emails.
The "how" depends on what you want to do. I recently wrote a lengthy article on email. You find answers to all protocol-related questions there. The sections about email's architecture and its entities might be especially interesting to you.

How to specify the ip address SendGrid uses to send Webhook Events from

Is there a way to specify the ip address SendGrid uses or identify the ip address or range that they use to send Webhook Event responses?
I need to restrict a server to only those external calls.
There's no way to do this and it's unlikely to be a sustainable strategy since the number of servers and their address is going to change. You might be able to do a rDNS lookup. But the easiest way might be to implement basic auth over https as described here https://sendgrid.com/docs/API_Reference/Webhooks/event.html#-Setup

Yet another (#5) Unauthorized source IP address

I've read all other question regarding this issue, but could not find a solution. I modified the IP whitelist in the facebook app settings to include the server by which the API is being called, but after I do so, I get an even more worrying "This IP can't make requests for that application." when trying to use the Facebook API from my web app.
The odd thing is that it was working till yesterday, when last user signed up and logged in via Facebook into the app.
Today, all of a sudden, my web application is not authorized anymore?
?
The reputation problem with shared IPV4 addresses is going to get far worse when the carriers are forced to use CGNAT for IPV4 addresses when the IPV4 address pool runs out. The IPV4 address pool in North America is expected to run out in Q1 2015. It has already run out in South America, Europe, and Asia. Currently IPV4 addresses are shared through time (the IPV4 address the belonged to me yesterday belongs to you today, and may belong to that person over there next week.). With CGNAT, the IPV4 address that I am using at the moment may be the same IPV4 address that you are using right now as well. This means that if one of us violates TOS, all of us may be restricted.
IPV6 should not have this problem. They are so sparsely allocated that the /64 you are using now should be yours for a long time, and even if it does change, you are unlikely to get one that anyone else is using, or has used in the last several years.
What I received from Facebook Platform Team
The IP address from which you're trying to use the Facebook API from
is blacklisted, because someone else using the same IP address has
recently violated the Facebook API Terms of Service. Your only option
is to obtain a different IP address to use with the Graph API.
was not very helpful, but I was making a silly mistake myself: the server was communicating with the Facebook API using its IPv6 address, and I was aware of this, but instead of using the proper IPv6 address for the server, I was converting the server IPv4 address to an IPv6 address and using that value, because that's how I thought that IPv6's are getting assigned.... (out of plain ignorance or genius ;) )

How does Google Talk replicate messages across devices?

I'm wondering how (official) GTalk clients manage to show all messages received - even if it was originally consumed by another client. For example: I'm logged into GTalk on gmail.com on my laptop and, at the same time, via the official GTalk app on my Android device. A friend sends me a message, which is displayed on both the gmail.com client and the Android client. (I think it's originally only forwarded to one of either clients, but the second client fetches the message later on)
I recently found out that there's a very similar XMPP feature, called Carbons. However, after a quick service discovery request Google's servers didn't advertise this feature. XEP-0313 and XEP-0136 look good too, but the servers don't advertise them either.
Possibly related question: Deliver Google Talk message to all logged in clients using XMPPPY
When you initiate a new chat then you should send the first message to the users bare Jid. This is what most clients are doing. When the GTalk server retrieves a chat message to a bare Jid it routes the message to all available resources. For all following messages in this conversation the clients normally pick up the Resource and send them to full Jids. The messages should not be replicated then.
Many other servers don't route message to bare Jids to all resources, but to the most available resource which is the client with the highest priority.
Here is a quote form the RFC:
If there is more than one resource with a non-negative presence priority then the
server MUST either
(a) deliver the message to the "most available" resource or
resources (according to the server's implementation-specific algorithm, e.g., treating
the resource or resources with the highest presence priority as "most available") or
(b) deliver the message to all of the non-negative resources.
XEP-0280 defines this. As I understand, it defines the mechanism to notify all the resources from same user when one of them sends a message to anyone. I mean, Alice/pda sends a message to Bob, so Alice/mobile and Alice/PC will receive a copy of the message sent be Alice/pda.
Hope it helps. I am currently looking for a server that implements this, and also for a client library. If not, I will implement it by myself in both jabberd2 and gloox xmpp library.
Cheers,

Can the underlying email provider be determined from an email address?

We are building a system that is, effectively, an email/calendar/contact client.
Users will provide us with their email address password (or other auth, eg oauth) and we will connect to their underlying email system.
"underlying systems" include:
Microsoft Exchange / Office365
GMail
Yahoo Mail
Apple email
Generic IMAP
Each of these systems have subtle (and not so subtle) differences in their APIs, especially to access calendar & contact data. Thus we need to know what provider the user is using.
But we would rather not ASK the user. We would like to figure it out (and at, least reduce the choices) automatically.
I've looked around for something that already implements this but have not found anything. I know it's mostly possible because Windows Phone does it pretty well (just enter username/pw and it does the right thing).
Before I dive in and start writing my own I want to ensure I'm not wasting my time if someone's already done it in an excellent way.
Know of anything like this? For this project prefer C#/.NET.
[EDIT: Adding potential algo]
Potential Algorithm:
Given email address & password
Extract domain name from email address
Try Exchange autodiscover. If successful done.
Use DNS MX records to find smtp host.
Do SMTP EHLO
Gmail responds with "250-mx.google.com at your service"
So if we see a "google.com" we are done.
Yahoo responds with 250-mta1257.mail.sk1.yahoo.com
So if we see a "yahoo.com" in the response we are done.
Apple responds with 250-xxxxxx-mac.com
So if we see a "mac.com" in the response we are done.
If none of the above
IMAP?
...
[EDIT: 5/18]
I built a prototype that uses methods that don't require auth (e.g. just MX/SMTP sluthing). Give it a try: http://bit.ly/KLZKxD
Algorithm seems reasonable. You will get best results running from unfiltered server (meaning it has direct SMTP outbound / doesn't run through a proxy). If running from client (mobile/tablet/desktop), then no guarantees as some ISP's pass SMTP through a proxy relay hence EHLO response is only for proxy.
You may want to do a port check for servers to verify expected protocol support (just a TCP connect may be sufficient but protocol handshake is preferable). Additionally, best to build up a database of verified SMTP and IMAP server mappings as there can be split names (e.g. smtp.domain.com and mail.domain.com) - discovering SMTP is easy, discovering outbound server(s) which usually also means calendar/contacts server, not so much (except for Exchange but only if autodiscovery is configured correctly).
If you can get your users to approve and assuming you have their username/password, you could try connecting to SMTP via MX record and sending an email back to your own address then checking through headers for useful info about the server (needs to be authenticated to relay). Users could alternatively reply to an email you generate in order to get the same server info.
Also ensure that you do your own DNS query and try each MX record or all primaries -- if the principal MX is down or DNS is poorly configured for equal weighting, you could end up hitting a smarthost / backup which may just be a dumb SMTP relay / store-and-forward and not give you the correct response.
TL;DR: No quick solution but a cascaded algorithm that trys and fails different solutions until one works / gives an expected result should work.
Most devices can auto detect the service by parsing the Whole e-mail address. Xyz#gmail.com would obviously be a gmail account. So for Apple, Gmail, Yahoo, Live, Hotmail etc you can easily program for.
For other domains, including custom, you can try this: http://www.exclamationsoft.com/exclamationsoft/netmailbot/help/website/HowToFindTheSMTPMailServerForAnEmailAddress.html
You can detect Google Apps For Your Domain accounts by examining the domain's MX records. If the primary MX record is ASPMX.L.GOOGLE.com, then it's GMail.
I created an implementation of this that has been used widely with some success: https://github.com/tig/Email2Calendar
This is used by both milelogr.com and freebusy.io.