ポートスキャンにはいくつかの方法があります。 どれもTCP/IPの特性を利用したものです。

TCPスキャン(TCP):
標的ポートに接続し、3wayハンドシェークと呼ばれるSYN-SYN/ACK-ACKのシーケンスを実行します。
被攻撃サイトにおいてスキャン行為の検出は容易。

SYNスキャン(TCP):
完全なTCP接続を行わないスキャン手法です。
ハーフオープンスキャンまたはステルススキャンと呼ばれています。 代わりに、SYNパケットを標的のポートに送信する。

・ 標的ポートからSYN/ACKを受信した場合のポートはリスン状態
・ 標的ポートからRST/ACKを受信した場合のポートは非リスン状態

FINスキャン(TCP):
標的にFINパケットを送信するスキャン手法です。
標的ホストは、RFC793に基づき、 クローズした全てのポートにRSTを送り返さなければなりません。
この手法は、UNIXのBSDソケットにしか通用しません。

クリスマスツリースキャン(TCP):
標的ポートに、FIN,URG,PUSHパケットを送信するスキャン手法です。
FINスキャン同様、標的ホストはクローズした全てのポートについて RSTを送り返さなければなりません。

NULLスキャン(TCP):
全てのフラグを"0"にするスキャン手法。
FINスキャン同様、標的ホストはクローズした全てのポートについて RSTを送り返さなければなりません。

UDPスキャン(TCP):
標的ポートにUDPパケットを送信。標的ポートが "ICMP port unreachable" というメッセージで応答した場合、
ポートはクローズされていることを確認するスキャン手法です。
パケットフィルタリングを施したデバイスに対するUDPスキャンは、 比較的時間がかかります。
また、UDPの性質上、ネットワーク越しにスキャンを行う場合の信頼性は非常に低くなります。