This wiki has been moved to https://github.com/SuperTux/wiki into the mediawiki branch.
- This is a technical manual; for the policy, see CheckUser policy.
Special:CheckUser allows a user with a checkuser flag to access confidential data stored about a user, IP address, or CIDR range. This data includes IP addresses used by a user, all users who edited from an IP address or range, all edits from an IP address or range, User agent strings, and X-Forwarded-For headers.
This tool is usually used to counter users creating bad-faith sock puppet accounts. (Note: checkuser may refer to an access to confidential information, a user with permission to do so, or the technical flag.)
If possible, the checkuser should attempt to resolve the situation without releasing any information, or by releasing the minimum possible information. The following information is commonly permissible. This list is not comprehensive, and cannot replace the checkuser's judgment. If the checkuser is at all doubtful, they should give no detail and answer like a magic 8-ball.
- confirmation that a user is a sockpuppet without noting personal information;
- information released by the user;
- the ISP edited from, if it is large enough that the information is not personally identifiable;
- the country, which is generally not personally identifiable.
Wikimedia checkusers have access to the private mailing list checkuser-l. They may use this list to discuss or get help, ideas and second opinions.
- CheckUser is not magic wiki pixie dust. Almost all queries about IPs will be because two editors were behaving the same way. An editing pattern match is the important thing; the IP match is really just extra evidence (or not).
- Most dialup and a lot of DSL and cable IPs are dynamic. They might change every session, every day, every week, every few months or hardly ever. Unless the access times are right next to each other, be cautious in declaring a match. After a while, you get to know which ISPs change quickly or slowly.
- If it's a proxy, it might not be a match, depending on the size of the organisation running the proxy (per whois output). If it's an ISP proxy, it is not so likely to be a match.
- If it's an AOL address, you're out of luck — AOL sends each page request through a different proxy.
- If a username is using lots of different IPs in various countries, the IPs may well be open proxies. Check with an open proxy checker.
- Edits from addresses allocated to hosting facilities almost always indicates the use of compromised hosting servers to nefarious ends. Note, however, that the user may have a legitimate shell account on the machine.
- whois: On Unix, start a terminal and type
whois [IP address]at the command line. This should tell you who owns the IP, what the range is and may also note what they use it for. On Windows, All Net Tools has a pretty good web-based whois (which does an nslookup as well).
- nslookup: On Unix or Windows,
nslookup [IP address]at the command line will give you the fully qualified domain name associated with the IP. Note that not all IPs have a domain name, so don't worry if nothing comes back. If you're on Windows, the All Net Tools whois also gives you the FQDN.
- traceroute: With IPs from some Internet Service Providers it may be useful to use the traceroute command and compare the results between two or more IP. The site All Net Tools also gives you traceroute function if you don't have it as a command line.
- Open proxy checking: David has yet to find a good tool for this. (proxycheck doesn't do what I want.) There are a number of online proxy checkers: , w:nmap. (I have not tried them.) Help needed. I usually work on a combination of online proxy list checking and educated guesswork ;-) en:User:Tawker runs a web-based proxy checker. To request access to it, contact him on his talk page.
- Checks for other abuse of an IP: http://www.rbls.org/ gives the status of any IP address on a number of Realtime Blackhole Lists. Note that some RBL blocks should be expected, e.g. many block home dynamic IPs for SMTP, but that's not a problem for a wiki. If a user only uses open proxies or addresses marked as sources of abuse, your suspicions may be raised.
- Go to Special:CheckUser.
- In the user field, type in the username (without the 'user:' prefix), IP address, or CIDR range.
- IP: any IPv4 or IPv6 address.
- CIDR: you can check a range of IP addresses by appending the CIDR prefix (up to /16 for IPv4 or /64 for IPv6, or 65,536 addresses). For notation, see Range blocks.
- XFF: you can check an IP address provided by X-Forwarded-For headers by appending /xff (for example, 127.0.0.1/xff).
- Select the information you want to retrieve.
- Get IPs: returns IP addresses used by a registered user.
- Get edits from IP: returns all edits made by a user (registered or anonymous) from an IP address or range.
- Get users: returns user accounts that have edited from an IP or range.
- In the reason field, type in the reason you are accessing the confidential data. Try to succinctly summarise the situation (for example, "cross-wiki spam"); this will be logged and may be needed by the Ombudsman commission.
IP check, exemplary results
Username check, exemplary results
A typical entry in the checkuser results for a user summary ("get users") is as follows:
This is formatted to fit a lot of information into a format that can very easily be listed and skimmed, but is difficult to read unless you know what the information provided is. The information is laid out as follows:
Each IP/XFF combination used to edit is listed, in order of use. The user agent data for the last corresponding usage each of those edits is listed below.
How it works
CheckUser checks against the recentchanges table. This means you can only query data as far back as recentchanges goes. (On Wikimedia wikis, this is nominally a week to a month, though it may be more if the database administrators want to keep more data and have room for it.)
The username check is a fairly intensive query, and if the database is under heavy load it may time out before returning. The IP check is much faster.
The source code is at http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/CheckUser/