C & C

Table of Contents

FreeBSD 一歩前へ

前回、Debian/WSL2 を、OpenBSDが鎮座するサブネットに参加させられないか、 簡単に調べてみた。間にWindowsの火壁が有ったり、ポートフォワードしなけ ればならないと言う、障壁が有る事が判明した。不自由なネットワークである。

そこで目を付けたのは、VMWare内に居るFreeBSDやらArchLinuxですよ。但しこ れらも、VMWareをインストールした時に施設された、独自なサブネットに接続 されてる。事情はDebianと一緒。いわゆるNAT構成になってるんだな。

ならばNATを止めて、ブリッジ接続にしちゃったらどう? かの昔VirtualBOXを 使っていた時、同じことを考えてやってみた事が有ったんだけど、不安定で、 使い物にならなかった。けど、VMWareならちゃんとした製品なんで、きちんと サポートしてるんではないだろうか? 駄目もとで試してみる。

少し下調べ

VMwareでのBridge設定と固定IP設定手順

VMware Playerでネットワークを学ぶ

心配なのは、WindowsマシンはWiFi接続になってる事。FreeBSD側に WiFiなNICを用意しなけりゃいけないの? 上の資料から推測するに、それは必 要無いっぽい。WindowsのWiFiなNIC(ipconfig /all すると、Intel(R) Dual Band Wireless-AC 3165)と勝手に共有してくれるみたい。だから、FreeBSD 側のNICは、そのままで良いはず。

実際は、dhcpでVMWareからIPを貰っていたのを止め、この際固定なIPを割り当 てる事にした。

/etc/rc.conf

## ifconfig_em0="DHCP"
ifconfig_em0="inet xx.xx.xx.xx netmask 255.255.255.0"
defaultrouter="xx.xx.xx.1"

/etc/resolv.conf

search localdomain
nameserver xx.xx.xx.1
nameserver 8.8.8.8

VMWareでの実際の切り替えは、NATからブリッジに変更するだけで済んだ。楽 ちんである。

上手くいって、FreeBSD,Windows,OpenBSDが同一なサブネットに参加する様になった。 万歳三唱である。これでNEC出来るぞ。なんじゃい、それ? NECと言えば、C & C のNECでしょ。コンピュータとコミュニケーションですよ。*BSDなマシン間 に何の壁も無い環境です。

念の為に、dmesgしたら

WARNING: 32-bit kernels are deprecated and may be removed in FreeBSD 15.0.

こんな怖い広告が出ていたぞ。FreeBSDお前もかの心境ですよ。

wireshark

OpenBSDのi386版には、wiresharkが提供されていないと、前回嘆いたけど、こ れはオイラーの誤解であった。ちゃんとインストール出来た。

多分、ワイヤーシャークの綴りを間違えてワイヤーシェイクとでもしちゃった んだろう。そんなシェイクは、修理の必須技術だからね。ついつい昔の職業病 が出たんでしょう。

ネットワークが不安定。スパゲティのように絡みあったケーブル。ケーブルを シェイクすると、通信がボチボチ切れる。だから、積極的にユサユサして、コ ネクタの不冠合やら半断線やらを炙りだすのさ。この種の修理技術として、コ ンコン・テストなんてのも有る。基板をドライバーの頭でコンコンと叩く。 何が見付かるかと言うと、ハンダ付けの不良。業界用語で、いもハンダとか、 天麩羅ハンダとかって奴だ。

話が逸れた。最初、Windowsに入れようとしたんだ。そしたら、とってもサイ ズが大きかった。どんな内容物が入いるの?そんな疑問があって、 ports/net/wiresharkのMakefileを眺めたのさ。そしたら、BROKEN-alphaって のが登録されてた。これは、alpha版では提供できませんと言う目印。逆に言 うと、i386版は提供されてますって事だ。そんな訳で、再度インストールを試 したら無事に入ったよ。ちょっとの確認が大きな成果。もう一つ成果があった。

pkg/README-main

${TRUEPREFIX}/bin/dumpcap has been installed setuid root, with read/execute
access granted only to users in the _wireshark group. For normal interactive
use of Wireshark, add your username to this group:

  usermod -G _wireshark username

If you will only run Wireshark offline on files captured using tcpdump -w,
this step is not necessary.

DO NOT RUN WIRESHARK AS ROOT!

これ、インストール時には、案内されないんだけど、とっても大事な事だ。利 用する人は、会員になってねと言う広告ね。

起動するとメニューが残念ながら、豆腐文字になった。今迄Xではemacsだけで 日本語がハンドリング出来ればいいやと、高をくくっていたけど、そうも言っ てられない状況になってしまった。ちゃんとしたフォントって事で、

mixfont-mplus-ipa

This port provides several high quality japanese TrueType fonts.

The IPA fonts:
 - IPAGothic
 - IPAMincho
 - IPAPGothic
 - IPAPMincho
 - IPAUIGothic

Combined M+ and IPA fonts:
 - M+1P+IPAG
 - M+2P+IPAG

Combined M+ and IPA fonts, with enlarged handakuten:
 - M+1P+IPAG circle
 - M+2P+IPAG circle

Combined M+ and IPA fonts, with enlarged handakuten,
monospaced and combined with Bitstream Vera Sans Mono:
 - M+1VM+IPAG circle
 - M+2VM+IPAG circle

日本語フォントの詰め合わせを選んだ。これで、豆腐が解消できたよ。

有用なTipsとして、 解析したパケットをASCIIで保存するには、File -> Export Packet Dissections -> As Plain Textを選んで保存すれば良い(見たい部分をあら かじめ展開しておく事)。 更に、 Analyze -> Follow -> Tcp Stremeメニューで、まとめてもらう。こういうの も有りだな。

Wireshark User’s Guide

さくらさん所にも記事が出てたので、ご近所さんのよしみで、紹介しときます。

Wiresharkを使った通信監視(前編)――基本的な使い方とパケット解析

Wiresharkを使った通信監視(後編)――コマンドラインベースでのパケットキャプチャ

inetd

man inetdしたら、時間あたりのサービス要求を制限する機能が提供されてる 事を知った。これは利用しよう。直に要求を受けつけてるsshdをinetd経由に 変更しとけば、この恩恵を受けられるからね。

/etc/inetd.conf

ssh     stream  tcp     nowait  root    /usr/sbin/sshd          sshd -i -4

at FreeBSD

712  -  Is     0:00.01 /usr/sbin/inetd -wW -C 10

at OpenBSD

96845 ??  Ip       0:00.00 /usr/sbin/inetd -R 10

talk between fb and ob

あこがれのコンピュータ間でtalkをやってみる。あらかじめ、両マシンの /etc/hostsに、IPaddressとホスト名を登録しておく。マシン数が多いと、こ の方法では破綻するので、イエローページなサブシステムで管理する。 Windowsにも同様な機構(Active Directory)がある。

FreeBSD side: talk sakae@ob

OpenBSD side: talk joy@fb

パケットキャプチャーはOpenBSD側で、 tcpdump -i iwn0 -w FBOB -X host fb とした。NIC iwn0 に流れる ホストfbの成分を含むパケットを保存せよって指 令。不要なパケットを拾わないように、fb側はシリアル端末を利用した。

ob$ tcpdump -r FBOB | head -15 | cut -b -90
15:11:11.177653 fb.49395 > ob.my.domain.ntalk: udp 84
15:11:11.180112 ob.my.domain.ntalk > fb.49395: udp 24
15:11:11.193039 fb.49395 > ob.my.domain.ntalk: udp 84
15:11:11.193964 ob.my.domain.ntalk > fb.49395: udp 24
15:11:20.091252 ob.my.domain.26008 > fb.ntalk: udp 84
15:11:20.099037 fb.ntalk > ob.my.domain.26008: udp 24
15:11:20.099146 ob.my.domain.14227 > fb.63569: S 4054314596:4054314596(0) win 16384 <mss 1
15:11:20.106581 fb.63569 > ob.my.domain.14227: S 941979343:941979343(0) ack 4054314597 win
15:11:20.106602 ob.my.domain.14227 > fb.63569: . ack 1 win 256 <nop,nop,timestamp 33507223
15:11:20.106653 ob.my.domain.14227 > fb.63569: P 1:4(3) ack 1 win 256 <nop,nop,timestamp 3
15:11:20.128271 fb.49395 > ob.my.domain.ntalk: udp 84
15:11:20.128330 ob.my.domain.ntalk > fb.49395: udp 24
15:11:20.134853 fb.63569 > ob.my.domain.14227: P 1:4(3) ack 4 win 1027 <nop,nop,timestamp
15:11:20.329287 ob.my.domain.14227 > fb.63569: . ack 4 win 256 <nop,nop,timestamp 33507225
15:11:27.279773 fb.63569 > ob.my.domain.14227: P 4:5(1) ack 4 win 1027 <nop,nop,timestamp

最初はudpで始まるんだけど、セッションが確立するとtcpに移行するという面 白い使い方をしてる。tcpでは、1文字毎の送受になってる。wiresharkのtips を適用して、tcpのやりとりを纏めると、

......hello sakae
...how are you joy-san

こんな風になった。いや、送受した事がわかる。

参考までに、fb側からobにsshした時の生パケットと、それををデコードすると、

ob$ tcpdump -r SSHLOG  | cut -b-90
15:46:46.293477 arp who-has ob.my.domain tell fb
15:46:46.293506 arp reply ob.my.domain is-at 00:24:d6:38:fd:c4
15:46:46.301474 fb.47234 > ob.my.domain.ssh: S 1722791537:1722791537(0) win 65535 <mss 146
15:46:46.301529 ob.my.domain.ssh > fb.47234: S 1380179529:1380179529(0) ack 1722791538 win
15:46:46.309561 fb.47234 > ob.my.domain.ssh: . ack 1 win 1027 <nop,nop,timestamp 114497626
15:46:46.315260 fb.47234 > ob.my.domain.ssh: P 1:39(38) ack 1 win 1027 <nop,nop,timestamp
15:46:46.345350 ob.my.domain.ssh > fb.47234: P 1:22(21) ack 39 win 270 <nop,nop,timestamp
15:46:46.371589 fb.47234 > ob.my.domain.ssh: . 39:1487(1448) ack 22 win 1027 <nop,nop,time
15:46:46.371591 fb.47234 > ob.my.domain.ssh: P 1487:1615(128) ack 22 win 1027 <nop,nop,tim
15:46:46.371645 ob.my.domain.ssh > fb.47234: P 22:1134(1112) ack 1487 win 248 <nop,nop,tim
15:46:46.417902 fb.47234 > ob.my.domain.ssh: . ack 1134 win 1027 <nop,nop,timestamp 114497
15:46:46.570306 ob.my.domain.ssh > fb.47234: . ack 1615 win 271 <nop,nop,timestamp 2960535
 :

かろうじて読める部分が有る程度。

SSH-2.0-OpenSSH_9.6 FreeBSD-20240104
SSH-2.0-OpenSSH_9.5
...$
..Xl.uB..5.....\....1sntrup761x25519-sha512@ossh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1....n...T
....zv0EL./..
......&sntrup761x25519-sha512@o...........(/*rW..O...k[.....|c.n...Q.....Xp.l........   ....3....ssh-ed25519... 
...........S'....A.2.....a..q...#.x.....t..Z.....
.S.........Q)E...Q.H....8*....R.v.&.h.B.V....P...K~.....
.-&..V...\.......a.Pv...R.z+=]...x.[...j..v...\.^.
.l^.:[.|Ym.*....D...E......!..
 :

途中から化け化けの通信内容になる。暗号化されてるから、盗聴したって解読 出来ないよ、という訳である。

ping, nmap

進行が前後しちゃったけど、有用なネットワーク・ツールで遊んでみる。 まずは、導通試験。

ping -c 30 host

routor                    1.327/3.281/13.478/2.925 ms
TV                        27.257/281.828/2334.984/420.810 ms
OpenBSD(ob)               0.034/0.047/0.117/0.021 ms
WiFi                      0.817/3.472/12.387/3.507 ms
FreeBSD(fb)               2.329/6.512/15.889/3.285 ms

Windows/ipad/androidは、応答を拒否してましたよ。コミュニケーションをし ないで、情報を取っていくだけって態度は、今風なんですかねぇ。

次は、サービス提供状況の確認

ob$ nmap WiFi
Starting Nmap 7.91 ( https://nmap.org ) at 2024-03-17 06:34 JST
Nmap scan report for WiFi
Host is up (0.019s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http
ob$ nmap fb
PORT   STATE SERVICE
22/tcp open  ssh
ob$ nmap ob
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
ob$ nmap routor
PORT      STATE    SERVICE
23/tcp    open     telnet
53/tcp    open     domain
80/tcp    open     http
139/tcp   open     netbios-ssn
445/tcp   open     microsoft-ds
2869/tcp  open     icslap
8090/tcp  open     opsmessaging
8888/tcp  open     sun-answerbook

そして、おまけです。

ob$ arp -a
Host                                 Ethernet Address    Netif Expire    Flags
xx.xx.xx.xxx                        11:b1:7f:aa:bb:cc    iwn0 12m18s
xx.xx.xx.xxx                        22:ae:12:dd:ee:ff    iwn0 12m50s
xx.xx.xx.xxx                        33:96:9d:00:11:22    iwn0 expired
xx.xx.xx.xxx                        44:0b:39:33:44:55    iwn0 10m29s
xx.xx.xx.xxx                        55:ef:18:66:77:88    iwn0 19m40s
ob.my.domain                        66:24:d6:99:aa:bb    iwn0 permanent l
xx.xx.xx.xxx                        77:26:9e:cc:dd:ee    re0 permanent l
fb                                  88:ef:18:ff:00:11    iwn0 8m2s
xx.xx.xx.xxx                        99:f1:99:22:33:44    iwn0 9m42s

いささか伏せ字が多いのには、ご容赦願います。

ArchLinux

VMWareなネットに居るArchLinuxも、一歩前に出ておいでってなるかな。 その場合、どうやってIPAddressを固定にするかだな。 DHCPじゃ、IPAddressが変更されてしまう可能性が有るんで、ネットワークの 実験をするには、不向きだ。軽く調査。

Arch Linux IPアドレス固定化設定

Arch Linuxで固定IPを簡単に設定する

同じ事を実現するのに、編集するファイルが違うって、どうよ? これって、 きっとGUIからの設定を容易にする為の発明なんだろか。こういう決まりきっ た事柄は、統一して欲しいぞ。

それはそうと、先端を走るArchLinuxでは、古い機構がサポートされているの だろうか?

[sakae@arch ~]$ pacman -Ss inetd
extra/procstatd 1.4.2-12
    A daemon that can be run either from userspace or inetd that can be queried
    via a simple API to parse various files in /proc
[sakae@arch ~]$ pacman -Ss talkd
[sakae@arch ~]$ pacman -Ss ntalkd
[sakae@arch ~]$ pacman -Ss talk
extra/python-requests-unixsocket 0.3.0-3
    Use requests to talk HTTP via a UNIX domain socket
 :

python-requests-unixsocket 0.3.0-3

examples/を見ると、それっぽくも見えるんだけど、変な物を導入して地獄を 見るのは、遠慮しときましょ。大体、何でもHTTPに載せちゃうってのは好かん ぞ。

ネットの事をやるなら、 mininetでお手軽ネットワークテスト環境を構築する なんてのが有るな。

book

それよりも、もっと本質って事で、本棚を漁ったら、リナと銘打った本が多い ぞ。BSD系は、そんなに需要が無いのか。まあ、売れる分野で勝負しなきゃな らん出版業界の事情もありからね。

ズバリとネットワークの本は、これだった。2003年に購入してる。

UNIX ネットワークプログラミング入門

本は品切れなんだけど、まだサンプルコードは提供されてた。技術評論社、偉 いなあ。コードはRedHatのgcc 3.2で確認したって説明されてたけど、現代の gccで動くかな。やってみるか。

フォカッチャ

松たか子の食パンが特売だったので、買ってみた。開封すると、強烈なアルコー ル臭がしたぞ。これって、賞味期限を延長させる工夫で、アルコール消毒して るの? アルコール(メチルを除く)なら、まあ人体には無害だからね。

そんな折り、とある本を読んでいたら、イタリア発祥のパンである、フォカッ チャが紹介されてた。

小麦粉にドライイーストを混ぜてからこねると、酵母の働きによりアルコー ル発酵するそうな。それで生成される二酸化炭素で、生地が膨らむそうだ。 松たか子のパンも、まだ発酵中て事だったのか。納得。

フォカッチャとはどんなパン?基本からアレンジまで食べ方4選!

ふわふわ!簡単フォカッチャ

簡単フォカッチャ

強力粉と薄力粉の違いは? これ、以前、ChatGPTに聞いたな。

これって、粉食文化だな。対して、米粒を炊いての方は、粒食文化と言うのか。 じゃ、米粒を蒸してから、2段発酵させて作る世界でもまれな醸造法で作られ る日本酒は、粒呑み文化? 発酵中の生酒も大好きです。袋絞りとかね。。


This year's Index

Home