Skip to content

About

Netcat command for X680x0

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

Repository files navigation

netcat (nc.x) for X680x0

概要

netcat (nc.x) は TCP や UDP のパケットを読み書きするためのコマンドラインツールです。

オリジナルは Unix 系 OS 向けのツールですが、nc.x は X680x0 のネットワーク環境向けに同等の機能のツールを新規に実装したものです。

参照: netcat - Wikipedia https://ja.wikipedia.org/wiki/Netcat

動作環境

nc.x は(株)計測技研製 Human68k 用 TCP/IP ドライバやその互換ドライバによってネットワーク接続が利用できる環境で動作します。

以下のようなネットワークアダプタが利用できます(動作は XM6 TypeG, ZUSB, イーサネットじょい君 で確認)。

  • X680x0 実機向け: Neptune-X, Nereid, RaSCSI, イーサネットじょい君 等
  • X68000 エミュレータ向け: XM6 TypeG (Nereidエミュレーション機能)
  • X68000 Z 向け: ZUSB (zusbether) + BUFFALO LUA3-U2_ATX

使用方法

nc [オプション] <ホスト> <ポート番号> ... クライアントモード
nc -l [オプション] <ポート番号>       ... サーバモード

nc.x はクライアントモードとサーバモードのどちらかのモードで動作します。

クライアントモードでは、指定したホストとポートに接続してデータを送受信します。サーバモードでは、指定したポートで待ち受けて接続を受け入れます。

通信相手との接続が確立すると、標準入力からの入力は通信相手に送信され、通信相手からのデータは標準出力に表示されます。入力元や出力先は -I オプションや -O オプションでファイルに変更することができます。

-I オプションやリダイレクトで入力したデータがすべて送信されるか、通信相手からの接続が切断されると nc.x は終了します。 接続待ち中や通信中に終了させるには CTRL+C を入力してください。

オプション

  • -l: サーバモードで待ち受ける
    • nc.x をサーバモードで動作させます。コマンドラインで指定されたポート番号のポートを開いて、他のホストからの接続を待ち受けます
  • -u: UDP モードで動作する
    • nc.x はデフォルトでは TCP でデータを送受信しますが、このオプションを指定すると送受信を UDP で行うようになります。
    • UDP にはコネクションの概念がないため、サーバモードでは実行してすぐにデータの送受信が可能になりますが、最初にクライアントからのデータを受信するまでの間は送信先が未定のため送信データは破棄されます。
  • -I <ファイル名>: 送信するデータをファイルから読み込む
    • 通常、送信するデータは標準入力から読み込みますが、このオプションを指定すると指定したファイルからデータを読み込んで送信します。
  • -O <ファイル名>: 受信したデータをファイルに保存する
    • 通常、受信したデータは標準出力に表示されますが、このオプションを指定すると指定したファイルにデータを保存します。
  • -x: 受信したパケットを16進ダンプで表示する
    • 通常、受信したデータはそのまま標準出力に表示されますが、このオプションを指定するとデータを16進ダンプ形式で表示します。
  • -q: 接続状態の出力を抑制する
    • 通常は実行すると通信相手との接続確立や切断の情報が表示されますが、このオプションを指定するとそれらの情報を表示しません。
  • -v: 詳細な出力を表示する
    • 通信に関する詳細な情報を表示します。
  • -n: ホスト名の解決を行わない
    • 通常はホスト名を指定すると nc.x はそのホスト名を IP アドレスに解決してから接続しますが、このオプションを指定するとホスト名の解決を行わずに指定された文字列をそのまま IP アドレスとして扱います。
  • -h: ヘルプを表示する
    • コマンドの使用方法やオプションの説明を表示します。
  • -b <size>: 送受信のバッファサイズを指定する
    • デフォルトのバッファサイズは 1024 バイトですが、このオプションを指定すると送受信に使用するバッファのサイズを変更できます。
  • -k: 接続を維持する
    • -l オプションでサーバモードで動作している場合、通常は通信相手との接続が切断されると nc.x は終了しますが、このオプションを指定すると接続が切断された後も nc.x を終了せずに待ち受け状態に戻ります。
  • -U: UTF-8 <-> Shift_JIS 変換を行う
    • 送受信するデータの文字コードを UTF-8 と Shift_JIS の間で変換します。
    • デフォルトでは nc.x は送受信するデータをそのまま扱いますが、このオプションを指定すると送信するデータを Shift_JIS として解釈して UTF-8 に変換してから送信し、受信したデータを UTF-8 と解釈して Shift_JIS に変換してから表示します。
    • 文字コードとして変換できないデータは廃棄されます。
  • -T: TLSを使用する(TCP/IPドライバが対応している場合)
    • 通信の際にTLSでの接続を行います。TCP/IPドライバがTLSソケットモードに対応している必要があります。
    • 現在は、WiFi+PCMパイルダーのみTLSソケットモードに対応しています。

使用例

  • nc.x をサーバとして起動して、ポート 1234 でクライアントからの TCP 接続を待ち受ける
    nc -l 1234
    
  • 受信したデータをファイル output.txt に保存する
    nc -l 1234 -O output.txt
    
  • IP アドレス 192.128.1.100 のホストのポート 1234 に TCP で接続する
    nc 192.128.1.100 1234
    

ライセンス

Copyright (c) 2026 Yuichi Nakamura (@yunkya2)

本プログラムは MIT ライセンスとします。

About

Netcat command for X680x0

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages