Nmap currently has no way to detect whether the service running on TCP port 1801 is Microsoft Message Queuing (MSMQ). The file msmq-service-probe
here has been developed to give Nmap the capability to detect MSMQ. The objective is to help identify assets with MSMQ exposed, that may be vulnerable to CVE-2023-21554, aka QueueJumper.
This works by sending a MSMQ packet to port 1801 and checking if the response matches an expected fingerprint.
You can run this probe as follows:
nmap -Pn -n -v -p1801 -sV --versiondb msmq-service-probe 127.0.0.1
If the service running on the port is MSMQ, Nmap will output the following:
PORT STATE SERVICE VERSION
1801/tcp open msmq Microsoft MQ
If the server is not MSMQ this is printed instead:
PORT STATE SERVICE VERSION
1801/tcp open msmq?