Link the Deep Logics to our Usual Sceneries.

弛まずHackを続けるサイバー空間 LdLuS へようこそ

更新日:2021/12/11

コマンド集

Linux上でよく使うコマンドを中心にまとめていきます。

Linuxの疎通確認コマンド

# コマンド コマンド例 備考
1. ping ping [IP] -
2. traceroute traceroute [IP] -
3. ssh ssh root@[IP] -
4. telnet telnet [IP] 「SSH-2.0-OpenSSH_5.3」等が表示されること
5. nslookup nslookup [IP] DNSが設定されている場合
6. netstat netstat -rn
netstat -rne
netstat -nap
netstat -s
netstat -a
-
7. tcpdump tcpdump -i eth0 想定通りの通信が発生している/いないこと

tracerouteの変化形

# コマンド 備考
1. DNS/UDPでtraceroute traceroute -U -p 53 [IP] オプションを指定していない場合はこれになる
2. http/TCPでtraceroute traceroute -T -p 80 [IP] 80や22ポートがオススメ
3. ICMPでtraceroute traceroute -I [IP] pingが通らない時に、どこまで行けているか確認

telnet関連

# コマンド 備考
1. 宛先ポートの指定の方法 telnet [IP] [Port] スペース区切りでIPの後に指定
2. 対話型モードからの抜け方 quit -

tcpdumpの変化形

# コマンド 備考
1. eth0の通信のうち、指定した送信元IPに絞って出力 tcpdump -i eth0 src [IP] 宛先の場合はsrcがdstになる。
2. eth0の通信のうち、指定したポートに絞って出力 tcpdump -i eth0 port 80 -
3. eth0の通信のペイロードを確認する tcpdump -i eth0 -X sshやhttpsだと暗号化されており読めないので注意。
4. ↑が途中で切れてしまう場合、
出力量を増やすのにsオプションを付与する
tcpdump -i eth0 -X -s 5120 sオプションの引数に指定できるのは0から65535まで。

tcpdumpは基本的にiオプションを付与する習慣をつけるべき。指定しなかったら、全てのインターフェースの通信を拾う、わけではなく、デフォルトのインターフェース(eth0とか)だけを出力するので、実行した時に「??」となりがち。

Windowsの疎通確認コマンド

# コマンド コマンド例 備考
1. ping ping [IP] -tオプションを付けるとずっと投げ続ける
2. tracert tracert [IP] -
3. telnet telnet [IP] 「SSH-2.0-OpenSSH_5.3」等が表示されること。
4. nslookup nslookup [IP] DNSが設定されている場合

iptablesでICMPを全開放するコマンド

# iptables -I INPUT -p icmp -j ACCEPT

grep応用編

grep -v [マッチさせる除外したい文字列]

munin以外の.plを探したい場合
# grep *.pl | grep -v munin
【参考】

http://takuya-1st.hatenablog.jp/entry/20100312/1268384541

◆find応用編

jpg ファイルと png ファイルを除外する
# find -type f -not -name '*jpg' -not -name '*.png'

特定のディレクトリ(lib)を除外して、ファイル名が"*.php"のものの一覧を取得
# find . -type d -name lib -prune -o -type f -name '*.php' -print
【参考】

http://takuya-1st.hatenablog.jp/entry/2016/08/06/032454

http://qiita.com/snaka/items/928d0d47f67bcee600b0

http://mollifier.hatenablog.com/entry/20090115/1231948700

MySQLのDBバックアップ取得・反映

◆DBバックアップ取得
# /usr/bin/mysqldump -u root -p db_name > /home/user/dump.sql

◆DBバックアップ反映
# mysql -u root -p db_name < /home/user/dump.sql

ファイル転送(*で複数ファイル指定も可能)

◆アップロード
# scp -P 22 file.txt root@192.168.0.101:/home/user1/work

◆ダウンロード
# scp -P 22 root@192.168.0.102:/home/user2/work/file.txt .

ディレクトリ転送(-r オプションを付ける)

◆アップロード
# scp -P 22 -r dir root@192.168.0.101:/home/user1/work

Ubuntu系コマンド

▼iptablesの設定確認(ufwっていう簡易ツールを使う)
# ufw status

▼iptablesへの追加(ufwっていう簡易ツールを使う)
# ufw allow mysql

▼munin-node再起動
# /etc/init.d/munin-node restart

▼MySQL再起動
# /etc/init.d/mysql restart

▼Apache再起動
# /etc/init.d/apache2 restart

▼bind再起動
# /etc/init.d/bind9 restart

▼サービスの自動起動設定
# sysv-rc-conf

▼ネットワークの再起動コマンド
# service networking restart
# service network-manager restart
# ifdown eth0 && sudo ifup eth0
【参考】

http://yamasaki0.hatenablog.com/entry/2012/03/09/152153

CentOS6系コマンド

▼Munin起動状態確認
# service munin-node status

▼Postfix起動状態確認
# service postfix status

▼MySQL起動状態確認
# service mysqld status

▼apache起動状態確認
# service httpd status

▼Munin再起動
# /etc/rc.d/init.d/munin-node restart

▼Postfix再起動
# /etc/rc.d/init.d/postfix restart

▼MySQL再起動
# service mysqld restart

▼Apache再起動
# /etc/rc.d/init.d/httpd restart

▼slabキャッシュ・ページキャッシュクリア
# echo 3 > /proc/sys/vm/drop_caches

CentOS7系コマンド

▼iptables再起動
# systemctl restart iptables.service

▼sshd再起動
# systemctl restart sshd.service

▼Munin再起動
# systemctl restart munin-node.service

▼MySQL再起動
# systemctl restart mysqld.service

▼Nginx再起動
# systemctl restart nginx.service

▼Apache再起動
# systemctl restart httpd.service

▼FTP再起動
# systemctl restart vsftpd.service

文字列比較ツール

2つの文字列が同じかどうかを判別するだけのツールです。

文字列1
文字列2
比較
ダウンロードしてローカルで使う

URLレピュテーションチェック

レピュテーションチェックサイトのURLを生成します。四角カッコは自動で消去し、「%%」は「.」に変換、「&amp;」は「&」に変換します。

調査対象URL/IP
URL IP

基本情報:

URL
ドメイン

ドメインのみでのチェック用URL:

IBM X-Force Exchange
Cisco Talos
SAGICHECK
Google検索

URL全体でのチェック用URL:

IBM X-Force Exchange
Cisco Talos
ダウンロードしてローカルで使う

エンコード/デコード

base64で同時にエンコード、デコードします。

対象文字列

変換結果:

base64エンコード
base64デコード
ダウンロードしてローカルで使う
- the end of this article -