Knowledgebase · IRC Commands & Modes

What is CTCP and how to protect yourself

Updated 22 Sep 2026 Support Operations

Client-To-Client Protocol (CTCP) is an extension of the standard IRC protocol that allows IRC clients to send formatted requests directly to one another via standard private messages (PRIVMSG) wrapped in low-level ASCII characters.


While CTCP facilitates underlying actions like rendering text formatting (ACTION / /me) or negotiating direct peer connections, traditional automated queries can expose your local client metadata.


Common CTCP Requests and Privacy Risks

When another user or script queries your client using CTCP, your software automatically responds with system information:


  1. VERSION: Returns the specific IRC client software you are running, along with underlying operating system details, architecture, or version numbers. This gives potential bad actors insight into your software stack.
  2. PING: Measures the direct latency (ping rate) between two clients by echoing back a timestamp. While useful for diagnostics, it can be abused to probe activity.
  3. TIME: Returns the local time and date settings of your machine or client environment.

Unrestricted CTCP querying can also be weaponized by malicious actors to launch CTCP floods—bombarding a client with automated requests to force an "Excess Flood" disconnection from the server.


How to Protect Yourself

You can mitigate CTCP exposure and block automated information gathering using network-level modes or client settings.


1. Enable User Mode +T (Network-Level Block)

Many modern IRC networks support user mode +T, which instructs the server to strip or block incoming CTCP requests before they ever reach your client.


  1. How to set it: Type the following command into your client window upon connecting:

Plaintext

/mode YourNick +T

(Note: User modes are session-based, so you can configure your client's auto-connect string to execute this command automatically upon logging in.)


2. Configure Per-Client Settings

If your network does not support user mode +T, or if you want granular local control, you can disable or filter CTCP responses directly inside your chat application:


  1. AdiIRC / mIRC: Use client options or script rules (such as /ctcp *:*:*:halt) to intercept and silence outgoing CTCP replies.
  2. HexChat / The Lounge / Irssi: Look through advanced settings or notification plugins to disable automatic responses to VERSION, TIME, and PING queries from unknown users.


Ban masks explained: nick!user@host format

How IRC hostmasks work, writing effective ban masks with wildcards, and why banning only a nickname is usually not enough.

Open article

Channel modes on AustNet: complete reference

Every channel mode available on AustNet including +i, +k, +m, +n, +R, +s, +t, +z, flood protection modes, and how to set them.

Open article

Using HelpOP for quick in-network help

Sending /HelpOP HELP to get a list of available help topics, and using /HelpOP <topic> to read a guide without leaving IRC.

Open article

Using /ignore to manage unwanted messages

Adding a user or hostmask to your ignore list so their messages are hidden, and how to remove them when needed.

Open article