WSL2のUbuntuでtcpdumpができない

こんなエラー

tcpdump icmp を実行すると以下のような表示が出る

tomozo-hb@DESKTOP-QHUPT3N:~$ tcpdump icmp
tcpdump: eth0: You don't have permission to capture on that device
(socket: Operation not permitted)

やったこと

pcapというグループを作成し、自分自身を追加

tomozo-hb@DESKTOP-QHUPT3N:~$ sudo groupadd pcap
[sudo] password for tomozo-hb:
tomozo-hb@DESKTOP-QHUPT3N:~$ sudo usermod -aG pcap $USER
tomozo-hb@DESKTOP-QHUPT3N:~$ id $USER
uid=1000(tomozo-hb) gid=1000(tomozo-hb) groups=1000(tomozo-hb),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),1001(pcap)

正常に追加されたことを確認。

次に、tcpdumpのグループを変更。

tomozo-hb@DESKTOP-QHUPT3N:~$ ls -la /usr/sbin/tcpdump
-rwxr-xr-x 1 root root 1044232 Jan  1  2020 /usr/sbin/tcpdump
tomozo-hb@DESKTOP-QHUPT3N:~$ sudo chgrp pcap /usr/sbin/tcpdump
tomozo-hb@DESKTOP-QHUPT3N:~$ ls -la /usr/sbin/tcpdump
-rwxr-xr-x 1 root pcap 1044232 Jan  1  2020 /usr/sbin/tcpdump

最後に、tcpdumpに必要なcapabilityを追加する

tomozo-hb@DESKTOP-QHUPT3N:~$ sudo getcap /usr/sbin/tcpdump
tomozo-hb@DESKTOP-QHUPT3N:~$
tomozo-hb@DESKTOP-QHUPT3N:~$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/tcpdump
tomozo-hb@DESKTOP-QHUPT3N:~$
tomozo-hb@DESKTOP-QHUPT3N:~$ sudo getcap /usr/sbin/tcpdump
/usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip

CAP_NET_RAWはRAWソケットおよびPACKETソケットの使用許可、 CAP_NET_ADMINは各種ネットワーク関係の操作 を司っているらしい。 eipと指定したのはケーパビリティセットで、以下の意味らしい。 e: effective i: inheritable p: permitted

結果

無事に動作するようになった。

tomozo-hb@DESKTOP-QHUPT3N:~$ tcpdump icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

(タイトルにWSL2とつけたが、別にWSL2の問題ではなかった)

参考記事

Wiresharkを一般ユーザで実行(ラズパイ編) - Qiita

https://www.websys.edu.uec.ac.jp/wp-content/uploads/eefd56627f941a0803b2fca181c080bd.pdf

ThinkPadのプリインストールソフトをアンインストールしました

プリインストールされていた必要なさそうなソフト2つをアンインストールしました。

環境

f:id:tomozo-hb:20200809012846p:plain

その他のHW構成などについてはThinkPad購入時の記事 をご参照ください。

アンインストールするソフト

アンインストール手順

設定→アプリ→アプリと機能

で、「プログラムと機能」をクリック ←このやり方はあまり良くないかもしれません。追記参照。

f:id:tomozo-hb:20200809004353p:plain

コントロールパネルに飛ぶので、そこでアンインストールするソフトを選択し、「アンインストール」をクリック。

Lenovo Vantage サービス」のアンインストール ※間違っています。追記参照

f:id:tomozo-hb:20200809004603p:plain

f:id:tomozo-hb:20200809004750p:plain

f:id:tomozo-hb:20200809004819p:plain

マカフィー リブセーフ」のアンインストール

マカフィーについては、「アンインストールと変更」というボタンになっていた。

f:id:tomozo-hb:20200809004728p:plain

チェックボックス2つにチェックを入れて、「削除」をクリック。

f:id:tomozo-hb:20200809004946p:plain

本当にいいのか聞かれるので、もう一度「削除」をクリック。

f:id:tomozo-hb:20200809005146p:plain

削除中の画面↓

f:id:tomozo-hb:20200809005256p:plain

削除が完了したら、「今すぐ再起動」をクリック。

f:id:tomozo-hb:20200809005535p:plain

Windows セキュリティの設定

マカフィーをアンインストールしてしまったので、Windows Defenderくんを有効にします。

設定→更新とセキュリティ f:id:tomozo-hb:20200809005924p:plain

Windowsセキュリティ→「Windowsセキュリティを開く」をクリック

f:id:tomozo-hb:20200809010120p:plain

ウイルスと脅威の防止→「更新プログラムの読み込み」をクリック

f:id:tomozo-hb:20200809010231p:plain

数十秒待つと、緑色のチェックマークに変わります。

f:id:tomozo-hb:20200809010743p:plain

ついでに、「アプリとブラウザー コントロール」も無効になっていると黄色い警告が出て気持ち悪いので、有効にします。

f:id:tomozo-hb:20200809010911p:plain

今度は一瞬で完了し、緑のチェックマークになりました。

f:id:tomozo-hb:20200809011037p:plain

おわりに

なんとなく必要ないソフトが入っていると気持ち悪いので削除したのですが、 今回削除した2つのソフトに関しては、もし将来必要になった場合も再インストール可能なようです。

少なくとも、Lenovo Vantage はMicrosoft Storeで検索したらあったので大丈夫です。

マカフィー リブセーフ は、Microsoft Storeで検索しても見つからなかったのですが、アンインストール時のメッセージで再インストール可能と言っていたので、マカフィーの公式ページを見たらいけるはずです。
そもそも必要になることはない気もしますが。

追記

今回はコントロールパネルに飛ぶ手順でやったのですが、このやり方はあまり良くないかもしれません。 「アプリと機能」画面で各アプリをクリックすると「アンインストール」というボタンが出るので、それを押したほうが良いっぽいです。

今回の例で言うと、Lenovo Vantage は上記のやり方では不十分だったようです。 マカフィーの方はアンインストーラがうまくアンインストールしてくれたようですが、Lenovo Vantage の方はそもそも普通にタスクバーに残っていました。

正しい(?)アンインストール方法

画面左下の検索バーでLenovo Vantageと検索し、アンインストールを押します。
※設定→アプリ→「アプリと機能」画面からでもOKだと思います。

f:id:tomozo-hb:20200809013906p:plain

f:id:tomozo-hb:20200809013939p:plain

すると、アンインストールされ、タスクバーからも消えました。

f:id:tomozo-hb:20200809014010p:plain

もう検索しても出てこないので大丈夫でしょう。

f:id:tomozo-hb:20200809014245p:plain

最初からこのやり方でやるべきでした。

もうすぐWindows 10 からコントロールパネルが消えるという話もあるので、基本的にはコントロールパネルではなく「設定」で完結する方法を探した方がいいかもしれませんね。

届いたばかりのThinkPadにWSL2を入れてみました

前回の記事 で購入したThinkPadが届いたので、早速WSL2を入れてみました。

マイクロソフト公式の案内をはじめ、ググればやり方はいくらでも出てきますが、備忘のためにやったことを書きます。

Windows 10 のアップデート

WSL2をインストールするためには、Windows 10 May Update を実行する必要があります。 問題なくアップデートできましたが、2〜3時間くらいかかった気がします。

Windows 10 May 2020 Update ダウンロードサイト

www.microsoft.com

f:id:tomozo-hb:20200808155208p:plain

アップデート前のバージョン

f:id:tomozo-hb:20200809012657p:plain

アップデート後のバージョン

f:id:tomozo-hb:20200809012709p:plain

WSL2のインストール

LinuxWindowsサブシステムと仮想マシンプラットフォームの有効化

画面左下の検索バーに、「windows features」と入力して、 「Windowsの機能の有効化または無効化」を開きます。

f:id:tomozo-hb:20200808155900p:plain

そして、「LinuxWindowsサブシステム」と、「仮想マシンプラットフォーム」にチェックを入れます。

設定前

f:id:tomozo-hb:20200808160101p:plain

設定後

f:id:tomozo-hb:20200808160120p:plain

ディストリビューションの規定のバージョンを変更

PowerShellを起動して、以下のコマンドを入力します。

wsl --set-default-version 2

が、エラー

↑のコマンドを入力したら、以下のようなエラーが出ました。

エラー: 0x1bc
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

f:id:tomozo-hb:20200808212949p:plain

この解決策についてはIssueが上がっていて、どうやら気にせずにWSL2のカーネルを更新すれば解決するようです。

WLS2 Linuxカーネルの更新

マイクロソフトの案内ページ の通りに更新します。

f:id:tomozo-hb:20200808214914p:plain

セットアップウィザードが起動するので、言われるがままボタンを押していくだけです。

f:id:tomozo-hb:20200808215718p:plain

もう一度、ディストリビューションの規定のバージョンを変更

カーネル更新完了後、PowerShellでもう一度以下のコマンドを入力します。

wsl --set-default-version 2

結果: f:id:tomozo-hb:20200808215418p:plain

今度はエラーは出ませんでした。 うまくいったようです。

ディストリビューションのインストール

今回は、Ubuntuをインストールしました。

Microsoft Store で Ubuntu 20.04 LTS をインストール

"ubuntu"で検索します。 f:id:tomozo-hb:20200808231444p:plain

せっかくなので、最新版の Ubuntu 20.04 LTS を選択し、「入手」ボタンをクリックします。 f:id:tomozo-hb:20200808231520p:plain

入手ボタンを押すと、自動でDLとインストールが行われます。

インストール完了後、↓のような画面になるので、「起動」ボタンをクリックします。 f:id:tomozo-hb:20200808231813p:plain

Ubuntuの初期セットアップ

起動すると、Ubuntuの初期セットアップが始まります。

f:id:tomozo-hb:20200808232259p:plain

ユーザアカウントの設定として、好きなユーザ名とパスワードを入力します。

f:id:tomozo-hb:20200808232316p:plain

これでアカウント設定が完了です。

aptのUpdateとUpgrade

続いて、UbuntuCLIで以下のコマンドを入力して、aptを最新の状態に更新しておきます。

$ sudo apt update && sudo apt upgrade

私の環境では2分くらいで完了しました。

ディストリビューションに割り当てられているWSLのバージョンを確認

事前に規定のバージョンを2に設定しておいたので大丈夫なのですが、一応UbuntuがWSL2になっているか確認します。
Windows側に戻って、PowerShellで以下のコマンドを打ちます。

wsl --list --verbose

以下のようになっていたので成功です。

f:id:tomozo-hb:20200808233821p:plain

おわりに

環境が汚れていない新品のPCに入れたので、大したトラブルもなくあっさりできました。
すでにWSL1でインストール済みのものがある場合は移行に時間がかかるという話もありますが、今回のようにまっさらな環境に入れる場合は、Windows10のアップデート以外は特に時間のかかる作業もないので、Win10アップデート時間 + 1時間もあれば完了しそうです。

もちろん、諸々の設定はまだこれからなので、その部分も気が向いたら記事にするかもしれません。

ThinkPad E495 を購入しました

LenovoThinkPad E495 を注文したのでメモ。

買ったもの

kakaku.com

↑これのSSDを128GBに変更したものを買いました。

スペック

f:id:tomozo-hb:20200726173517p:plain
見積もりメールより

お値段

41,690円でした。 さらにポイント還元が合計5%分(楽天リーベイツ4%+クレジットカード1%)あるので、実質3万円台で購入できたことになります。

41,690(税込価格)- 2,085(ポイント還元5%) = 39,605(実質負担金)

なぜ買ったのか

普段Macを使っており、Windows環境のサブ機が手元に欲しかったからです。
別になくても全く困ってはなかったのですが、このスペックのPC(しかもノートなので当然画面付き)が4万円で買えるというのが魅力的で、衝動買いしてしまいました。

買い方

note.com

↑こちらの記事を参考に購入手続きを進めました。

見積もり作成まで

価格コムのこのページ

https://kakaku.com/item/K0001220791/

から、Lenovoの直販サイトに行き、 "ThinkPad E495:価格.com限定 パフォーマンス・FHD搭載" のものをカスタマイズします。

f:id:tomozo-hb:20200726174859p:plain

なお、価格コムでは税込54,890円という表示になっていましたが、Lenovoのサイトでは53,790円となっていました(2020年7月26日現在)。

カスタマイズ画面で、SSDを256GBのものから128GBに変更すれば、12,100円引きとなり、41,690円となります。

その他の項目もお好みでカスタマイズできます。
特に、メモリはデフォルトで4GBx2の8GBが選択されているのですが、16GBにしたい人は、追加料金なしで8GBx1を選択した上で、別途市販の8GBメモリを買うと安いです。

私はあくまでサブ機ということを考え、デフォルトの構成(4GBx2)を選択しました。

あとはカートに入れて注文するわけですが、ポイント還元を受けるためには、一旦どこかのポイントサイトを経由してから注文する必要があります。

そのために一旦、"購入手続きへ進む"ではなく"お見積もりを依頼"ボタンを押して、見積もりを作ります。 私はLenovo の会員でなかったので、ここで会員登録をしました。

f:id:tomozo-hb:20200726180746p:plain

この後の手順のために、常時ログインする設定にしておくと良さそうです。

ポイント還元のための手順

私は今回、楽天リーベイツを経由して注文しました。 www.rebates.jp

サイト内でレノボで検索すると出てきます。 f:id:tomozo-hb:20200726181927p:plain

2020年7月26日現在、4%ポイントバックキャンペーン中でした。 時期によって変動するようですし、他のサイトの方が還元率が高い可能性もあるので、暇があればいろんなサイトを見るといいかもしれません。

楽天リーベイツからLenovoのストアに進んだ後は、 ログインした状態で[マイアカウント]→[保存済みのお見積もりを表示] で、先ほどの見積もりをロードし、[注文に切り替える]を押します。 その後は個人情報などを入力して、注文完了です。

クレカ認証時のトラブル

MacSafariで注文していたのですが、クレジットカード情報の入力時に楽天カード(MasterCard)の認証画面の表示がおかしくなり、先に進めなくなるトラブルがありました。

f:id:tomozo-hb:20200726183413p:plain
これを入力した後

f:id:tomozo-hb:20200726183745p:plain
こんな画面が現れ、先に進めなくなった

これに関しては、ブラウザをChromeに変更すれば問題なく認証完了し、注文できました。

何度も送信したため、複数引き落としされないか、念のため明細は確認しておこうと思います。 多分大丈夫でしょうけど。

おわりに

最短3〜4週間で発送ということなので、届くのは1ヶ月先とかになるかもしれません。 気長に待つことにします。
届いたあとは、気が向いたらレビューしたいと思います。

追記

8/6(木)に届きました。 注文したのが7/26(日)なので、12日で届いたことになります。早い。

レビューはめんどくさいのでやめましたが、今のところいい感じです。

はじめました

思考の整理や備忘を目的に、適当に書いていきます。
ジャンルは限定しませんが、IT系の技術のことが多くなるかもしれません。

ブログなんてまともに続いた試しがありませんが、今回はクオリティを気にせず、思いついた時に適当に書き殴る、くらいの使い方を考えています。